Эта функция доступна в версиях Frontline Plus, Enterprise Plus, Education Standard и Education Plus. Сравнение версий
Чтобы использовать S/MIME с клиентским шифрованием на стороне клиента для Gmail в Google Workspace, необходимо включить Gmail API и предоставить ему доступ ко всей организации. Затем для каждого пользователя с помощью Gmail API загрузите в Gmail сертификат S/MIME (Secure/Multipurpose internet Mail Extensions) (открытый ключ) и метаданные закрытого ключа. Если вы используете сервис управления ключами, вам также потребуется зашифровать (или "обернуть") метаданные закрытых ключей пользователей с помощью этого сервиса.
Вы можете в любое время сменить сервис управления ключами. Для этого достаточно загрузить сертификаты S/MIME и метаданные закрытых ключей, зашифрованные новым сервисом.
Требования
Чтобы настроить S/MIME для клиентов, необходимы:
- Права суперадминистратора для аккаунта Google организации, чтобы предоставить Gmail API доступ к домену.
- Доступ к инструментам ключей шифрования организации или специалистам службы поддержки.
- Опыт работы с API и скриптами Python.
О протоколе S/MIME
S/MIME – это стандартный протокол цифровой подписи и шифрования электронных писем, обеспечивающий их целостность и безопасность. Шифрование на стороне клиента в Gmail работает на базе стандарта S/MIME 3.2 IETF, который позволяет защищать данные MIME при отправке и получении. Стандарт S/MIME требует, чтобы у отправителя и получателя был свой сертификат X.509, которому доверяет Gmail.
Примечание. Протокол S/MIME можно использовать и без шифрования на стороне клиента, однако это снизит уровень защиты конфиденциальности. В этом случае серверы Google смогут расшифровать ваши данные. Подробнее о том, как включить размещаемые сертификаты S/MIME для шифрования писем…
Подготовка
Вам потребуется выполнить следующие действия:
- Выберите сервис управления ключами.
- Установите подключение к поставщику идентификационной информации.
- Настройте внешний сервис управления ключами или аппаратные ключи шифрования.
Назначьте сервис управления ключами или аппаратные ключи шифрования организационным подразделениям или группам.
Если вы используете несколько сервисов управления ключами, назначьте их соответствующим организационным подразделениям или группам конфигурации.
Как настроить Gmail API
Примечание. Для использования API необходимы навыки программирования.
Шаг 1. Включите Gmail API
- Создайте новый проект GCP. Подробнее о создании проектов и управлении ими…
Сохраните идентификатор проекта. Он понадобится позже, чтобы предоставить API доступ к домену.
- Перейдите в Google API Console и включите Gmail API в новом проекте. Подробнее о том, как включить API в облачном проекте Google Cloud…
Шаг 2. Создайте сервисный аккаунт для домена
- В консоли Google Cloud перейдите на страницу Сервисные аккаунты и создайте сервисный аккаунт для всего домена. Подробнее о том, как создавать сервисные аккаунты и управлять ими…
- Создайте для сервисного аккаунта закрытый ключ и сохраните его в файле JSON в локальной системе, например
svc_acct_creds.json. Этот файл содержит учетные данные, которые вы будете использовать при настройке Gmail для пользователей. Подробнее о том, как создавать ключи сервисных аккаунтов и управлять ими…
Шаг 3. Предоставьте Gmail API доступ на уровне домена
На этом шаге вам нужно с помощью сервисного аккаунта предоставить Gmail API разрешение изменять всех пользователей в домене.
- Следуйте инструкциям в статье Как управлять доступом к API, используя делегирование доступа к данным в домене.
- Когда появится запрос, укажите следующие данные:
Идентификатор клиента: идентификатор клиента сервисного аккаунта, который вы создали на шаге 2.
Области действия OAuth:
gmail.settings.readonlyиgmail.settings.basicилиgmail.settings.sharing
Как включить в Gmail шифрование на стороне клиента для пользователей
Включите в Gmail шифрование на стороне клиента для организационных подразделений или групп. Подробнее о том, как включить или отключить клиентское шифрование.
Примечание. Для организационных подразделений можно включить шифрование по умолчанию для всех писем (написанных и пересланных). Пользователи при необходимости смогут отключить шифрование. Вам понадобится дополнение "Настройки доступа и размещения" или "Расширенные настройки доступа и размещения".
Как настроить для пользователей сертификаты S/MIME шифрования на стороне клиента
После того как вы настроите Gmail API и включите в Gmail шифрование на стороне клиента для пользователей через консоль администратора, вы можете настроить сертификаты S/MIME шифрования на стороне клиента и метаданные закрытых ключей для пользователей.
Шаг 1. Подготовьте сертификаты S/MIME и метаданные закрытых ключей
У каждого из пользователей, для которых вы хотите включить шифрование на стороне клиента для отправки и получения писем в Gmail:
Используя центр сертификации, создайте пару из открытого и закрытого ключа S/MIME с цепочкой сертификатов. Сертификат конечного субъекта S/MIME должен включать основной адрес Gmail пользователя в качестве имени субъекта или субъекта расширения SAN.
Это можно сделать одним из следующих способов:
- Используйте корневой сертификат ЦС, которому доверяет Google. Их список приведен в статье Доверенные сертификаты ЦС для S/MIME в Gmail.
- Используйте ЦС, которого нет в списке доверенных Google. Например, чтобы использовать собственный ЦС, добавьте его корневой сертификат в консоль администратора. Подробнее о том, как управлять доверенными сертификатами для S/MIME…
Примечание. Если вы используете ЦС, которому не доверяет Google, а вашим пользователям нужно отправлять клиентские зашифрованные письма за пределы организации, то получатели также должны доверять этому ЦС.
Шаг 2. Зашифруйте сертификаты и метаданные закрытых ключей
Зашифруйте метаданные закрытых ключей S/MIME с помощью сервиса шифрования ключей. Для этого обратитесь в сервис управления ключами или следуйте его инструкциям.
Если вы используете аппаратные ключи шифрования: пропустите этот шаг и не шифруйте метаданные закрытых ключей для пользователей, которые будут использовать аппаратные ключи шифрования. В этом случае шифрование метаданных не требуется, потому что пользователи хранят закрытые ключи для Gmail на смарт-картах. Вам понадобится дополнение "Настройки доступа и размещения" или "Расширенные настройки доступа и размещения".
Шаг 3. Загрузите сертификаты S/MIME и метаданные закрытых ключей пользователей в Gmail
С помощью Gmail API загрузите в Gmail цепочку сертификатов S/MIME с открытым ключом и метаданные закрытого ключа каждого пользователя и установите их в качестве предпочтительных ключей для пользователей, создав идентификационные данные.
Примечание. Используйте для загрузки сертификатов Gmail API, а не клиент Gmail. Кроме того, обратите внимание, что возможность загружать сертификаты из клиента Gmail будет отключена при включении шифрования на стороне клиента в Gmail.
Выполните следующие действия для каждого пользователя, используя файл закрытого ключа, который вы скачали при создании сервисного аккаунта для всего домена, для аутентификации:
- Загрузите цепочку сертификатов и метаданные закрытых ключей, используя вызов Gmail API
keypairs.create. - Включите пару ключей для основного адреса электронной почты пользователя, используя вызов Gmail API
identities.create.Для вызова
identities.createнеобходим идентификатор пары ключей, который возвращается в тексте ответа на вызовkeypairs.create.Примечание. При включении пары ключей для адреса электронной почты пользователя:
- Создаются идентификационные данные с шифрованием на стороне клиента с правом на отправку электронной почты из аккаунта пользователя.
- Gmail настраивается на использование метаданных закрытого ключа, чтобы подписывать исходящую почту с шифрованием на стороне клиента.
- Публикуется сертификат в общий репозиторий домена, чтобы другие пользователи шифрования на стороне клиента в организации могли шифровать письма, отправляемые этому пользователю.
Чтобы выполнить эти шаги, используйте скрипт, который взаимодействует с Gmail API. Это можно сделать одним из следующих способов:
- Напишите свой скрипт.
- Используйте пример скрипта Python, предоставленный Google. Инструкции приведены в разделе Как загружать в Gmail сертификаты и упакованные закрытые ключи пользователей с помощью скрипта Python от Google.
Примечание. Этот скрипт подходит только для пользователей, которые будут использовать сервис управления ключами для шифрования контента Gmail. Для сотрудников, которые будут использовать аппаратные ключи шифрования, вам нужно будет создать другой скрипт для загрузки незашифрованных метаданных закрытых ключей.
Обычно загруженные сертификаты добавляются в Gmail достаточно быстро, но иногда это может занять до 24 часов.
Как загружать в Gmail сертификаты и упакованные закрытые ключи пользователей с помощью скрипта Python от Google (необязательно)
Для выполнения шага 3 можно использовать скрипт Python, предоставленный Google, а не писать собственный.
Примечание. Этот скрипт запрашивает три области действия, которые можно использовать для предоставления Gmail API доступа к домену (указаны выше на этой странице): gmail.settings.readonly, gmail.settings.basic и gmail.settings.sharing. Чтобы использовать скрипт, вы можете включить все три области действия или удалить из него неиспользуемую область.
Как скачать скрипт
Скачайте пакет скрипта Python (.zip) на компьютер (Mac, Linux или Windows) и извлеките файлы в рабочий каталог.
Как создать виртуальную среду и установить модули
С помощью командной строки из рабочего каталога введите следующие команды:
Как вызвать скрипт
Как загрузить сертификаты и ключи пользователя
Шаг 1. Создайте каталог для хранения всех упакованных закрытых ключей
- Например, можно создать каталог
$root/wrapped_keys. - Имя файла для каждого упакованного закрытого ключа должно представлять собой полный адрес электронной почты пользователя с расширением
.wrap. Пример:$root/wrapped_keys/user1@example.com.wrap - Убедитесь, что файл упакованного закрытого ключа содержит объект JSON с двумя обязательными полями:
Шаг 2. Создайте каталог для хранения всех сертификатов
- Сертификаты должны быть в формате P7 PEM, поэтому вы можете создать каталог
$root/p7pem_certs. - Убедитесь, что файл сертификата содержит полную цепочку к корневому центру сертификации.
- Имя файла для каждого сертификата должно представлять собой полный адрес электронной почты пользователя с расширением
.p7pem. Пример:$root/p7pem_certs/user1@example.com.p7pem
Если у вас есть файл P7B, вы можете использовать следующий комментарий OpenSSL для преобразования его в формат P7 PEM:
Шаг 3. Загрузите пары ключей и идентификационные данные пользователей
Для этого шага вам понадобится JSON-файл, содержащий учетные данные для сервисного аккаунта, который вы сохранили на своем компьютере в разделе Шаг 2. Создайте сервисный аккаунт.
Самый простой способ загрузить пары ключей и идентификационные данные пользователей – выполнить команду insert. Обратите внимание, что каждая команда должна содержать аргумент, например:
Как вариант, вы можете сделать следующее для каждого пользователя:
- Выполните команду
insert_keypairи запишите идентификатор пары ключей. - Выполните команду
insert_identity, используя этот идентификатор.
Вы также можете получить идентификатор пары ключей с помощью команды list_keypair.
Шаг 4. Убедитесь, что у пользователей есть пары ключей и идентификационные данные с шифрованием на стороне клиента
Чтобы проверить это в Gmail, выполните следующие команды для каждого пользователя:
list_keypair
list_identity
Как перейти на другой сервис управления ключами для шифрования на стороне клиента в Gmail
Если вы решили использовать другой сервис управления ключами, выполните шаги 2 и 3 в разделе Как настроить для пользователей сертификаты S/MIME шифрования на стороне клиента и зашифруйте закрытые ключи с помощью нового сервиса.
Примечание. Загрузка новых сертификатов для пользователей не приведет к переносу данных в другой сервис управления ключами. У пользователей по-прежнему будет доступ к письмам, зашифрованным с помощью прежних сертификатов и закрытых ключей из старого сервиса.
Как перенести в Gmail письма в виде зашифрованных на стороне клиента объектов
После настройки шифрования на стороне клиента в Gmail можно импортировать письма. Подробнее о том, как перенести в Gmail письма в виде зашифрованных на стороне клиента объектов…