Поддерживаемые версии для этой функции: Frontline Plus; Enterprise Plus; Education Standard и Education Plus. Сравните вашу версию.
Для использования S/MIME с клиентским шифрованием (CSE) Google Workspace для Gmail необходимо включить API Gmail и предоставить к нему доступ всей вашей организации. Затем для каждого пользователя необходимо использовать API Gmail для загрузки в Gmail сертификата S/MIME (Secure/Multipurpose Internet Mail Extensions) (открытый ключ) и метаданных закрытого ключа. Если вы используете службу ключей шифрования, вам также потребуется зашифровать (или «упаковать») метаданные закрытого ключа пользователей с помощью вашей службы ключей.
В любой момент вы можете переключиться на другую службу ключей, загрузив новые S/MIME-сертификаты и метаданные закрытого ключа, зашифрованные с помощью новой службы.
Требования
Для выполнения шагов по настройке S/MIME для пользователей вам потребуется:
- Права суперадминистратора для учетной записи Google вашей организации, необходимые для предоставления доступа к API Gmail в масштабах всего домена.
- Доступ к инструментам службы ключей шифрования вашей организации или к сотрудникам службы поддержки.
- Опыт работы с API и скриптами на Python.
О протоколе S/MIME
S/MIME — это широко распространенный, отраслевой стандарт протокола для цифровой подписи и шифрования электронных писем, обеспечивающий целостность и безопасность сообщений. Gmail CSE использует стандарт IETF S/MIME 3.2 для отправки и получения защищенных MIME-данных. Для работы S/MIME требуется, чтобы отправители и получатели электронных писем доверяли Gmail своим сертификатам X.509.
Примечание: В качестве альтернативы вы можете использовать S/MIME без дополнительного уровня шифрования и конфиденциальности, предоставляемого CSE. Используйте этот вариант только в том случае, если вам не нужно предотвращать расшифровку ваших данных серверами Google с помощью CSE. Подробности см. в разделе «Включение S/MIME для шифрования сообщений» .
Прежде чем начать
Убедитесь, что вы выполнили следующие шаги:
- Выберите ключевую услугу .
- Подключитесь к своему поставщику идентификационных данных (IdP) .
- Настройте внешнюю службу ключей или аппаратное шифрование ключей .
Если вы используете несколько ключевых сервисов, убедитесь, что они назначены соответствующим организационным подразделениям или группам конфигурации.
Настройте API Gmail.
Примечание: Для использования API требуются знания программирования.
Шаг 1: Включите API Gmail.
- Создайте новый проект GCP. Подробности см. в разделе «Создание и управление проектами» .
Обратите внимание на идентификатор проекта: он понадобится для предоставления API доступа на уровне всего домена.
- Перейдите в консоль Google API и включите API Gmail для нового проекта. Подробности см. в разделе «Включение API в вашем проекте Google Cloud» .
Шаг 2: Создайте учетную запись службы для всего домена.
- В консоли Google Cloud перейдите на страницу «Учетные записи служб» и создайте учетную запись службы для всего домена. Подробности см. в разделе «Создание и управление учетными записями служб» .
- Создайте закрытый ключ для учетной записи службы и сохраните его в JSON-файл на вашем локальном компьютере, например,
svc_acct_creds.json. Этот файл содержит учетные данные, которые вы будете использовать при настройке Gmail для пользователей. Для получения подробной информации перейдите в раздел «Создание и управление ключами учетных записей служб» .
Шаг 3: Предоставьте API Gmail доступ ко всему домену.
На этом этапе вы будете использовать созданную вами учетную запись службы, чтобы предоставить всем вашим пользователям доступ к редактированию через API Gmail.
- Следуйте инструкциям по управлению доступом к API с делегированием на уровне домена .
- При появлении запроса введите следующее:
Идентификатор клиента: Идентификатор клиента учетной записи службы, созданной на шаге 2 выше.
Области действия OAuth:
gmail.settings.readonlyи либоgmail.settings.basic, либоgmail.settings.sharing
Включите функцию CSE в Gmail для пользователей.
Включите шифрование на стороне клиента (CSE) для Gmail для организационных подразделений или групп. Подробности см. в разделе «Включение или отключение шифрования на стороне клиента» .
Примечание: Для организационных подразделений можно установить шифрование всех электронных писем (создание, ответ и пересылка) по умолчанию. Пользователь может отключить шифрование при необходимости. Требуется наличие надстройки Assured Controls или Assured Controls Plus .
Настройка сертификатов CSE S/MIME для пользователей
После настройки API Gmail и включения Gmail CSE для пользователей в консоли администратора вы можете настроить сертификаты CSE S/MIME и метаданные закрытого ключа для ваших пользователей.
Шаг 1: Подготовка S/MIME-сертификатов и метаданных закрытого ключа.
Для каждого пользователя, который будет использовать Gmail CSE для отправки или получения электронных писем:
С помощью центра сертификации (ЦС) сгенерируйте пару открытого/закрытого ключей S/MIME с цепочкой сертификатов. В качестве имени субъекта или расширения SAN в конечный сертификат S/MIME необходимо указать основной адрес электронной почты пользователя в Gmail.
Вы можете сделать одно из следующих действий:
- Используйте корневой сертификат центра сертификации, которому доверяет Google: список корневых сертификатов можно найти на странице «Сертификаты центров сертификации, которым доверяет Gmail для S/MIME» .
- Используйте центр сертификации, которому Google не доверяет: например, чтобы использовать собственный центр сертификации, вы можете добавить его корневой сертификат в консоли администратора. Подробности см. в разделе «Управление доверенными сертификатами для S/MIME» .
Примечание: Если вы используете центр сертификации, которому Google не доверяет, и пользователи будут отправлять электронные письма с шифрованием на стороне клиента за пределы вашей организации, получатель также должен доверять этому центру сертификации.
Шаг 2: Упаковка сертификатов и метаданных закрытого ключа.
Используйте свою службу шифрования ключей для шифрования, или «обертывания», метаданных закрытых ключей S/MIME. Свяжитесь со своей службой шифрования ключей для выполнения этой задачи или следуйте предоставленным ею инструкциям.
Если вы используете аппаратное шифрование ключей — обязательно пропустите этот шаг и не упаковывайте метаданные закрытого ключа для пользователей, которые будут использовать аппаратное шифрование ключей. В этом случае упаковка метаданных не требуется, поскольку закрытые ключи пользователей для Gmail хранятся на их смарт-картах. Требуется наличие дополнения Assured Controls или Assured Controls Plus .
Шаг 3: Загрузите S/MIME-сертификаты и метаданные закрытого ключа пользователей в Gmail.
Используйте API Gmail для загрузки в Gmail цепочки сертификатов S/MIME открытого ключа каждого пользователя и метаданных закрытого ключа, а также установите их в качестве предпочтительных ключей для пользователей, создав учетную запись.
Примечание: Для загрузки сертификатов необходимо использовать API Gmail, а не почтовый клиент Gmail. Также обратите внимание, что возможность загрузки сертификатов из почтового клиента Gmail отключается при включении CSE для Gmail.
Выполните следующие шаги для каждого пользователя, используя файл закрытого ключа, который вы скачали при создании учетной записи службы в масштабе домена для аутентификации:
- Загрузите цепочку сертификатов и метаданные закрытого ключа , используя вызов API Gmail
keypairs.create. - Включите пару ключей для основного адреса электронной почты пользователя , используя вызов API Gmail
identities.create.Для вызова
identities.createтребуется идентификатор пары ключей, возвращаемый в теле ответа вызоваkeypairs.create.Примечание: Включение пары ключей для адреса электронной почты пользователя:
- Создает учетную запись CSE, которая имеет право отправлять электронные письма с учетной записи пользователя.
- Настраивает Gmail для использования метаданных закрытого ключа для подписи исходящих писем CSE.
- Публикует сертификат в общем репозитории, охватывающем весь домен, чтобы другие пользователи CSE в вашей организации могли шифровать сообщения, отправляемые этому пользователю.
Для выполнения этих шагов используйте скрипт, взаимодействующий с API Gmail. Вы можете сделать одно из следующих действий:
- Напишите свой собственный сценарий.
- Воспользуйтесь предоставленным Google примером скрипта на Python. Инструкции по использованию скрипта Google на Python для загрузки сертификатов пользователей и защищенных ключей в Gmail вы найдете далее на этой странице.
Примечание: Этот скрипт применим только для пользователей, которые будут использовать службу ключей для шифрования содержимого Gmail. Для пользователей, которые будут использовать аппаратное шифрование с помощью ключей , вам потребуется создать отдельный скрипт для загрузки расшифрованных метаданных закрытого ключа.
После загрузки сертификатов может потребоваться до 24 часов, чтобы они стали доступны в Gmail, хотя обычно это происходит гораздо быстрее.
(Необязательно) Используйте пример скрипта на Python от Google для загрузки сертификатов пользователей и упакованных закрытых ключей в Gmail.
Для выполнения шага 3, описанного выше, вы можете использовать скрипт Python, предоставленный Google, вместо написания собственного скрипта.
Примечание: Этот скрипт запрашивает 3 области доступа, которые можно использовать для предоставления доступа к API Gmail на уровне всего домена ( перечислены ранее на этой странице ): 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 для преобразования его в формат PEM P7:
Шаг 3: Загрузите пары ключей и идентификаторы пользователей.
Для этого шага вам понадобится JSON-файл, содержащий учетные данные для сервисной учетной записи, который вы сохранили на свой компьютер на шаге 2: Создание сервисной учетной записи, описанном выше.
Самый простой способ загрузить пары ключей и идентификаторы пользователей — это выполнить команду insert . Обратите внимание, что каждая команда должна иметь аргумент, например:
В качестве альтернативы вы можете выполнить следующие действия для каждого пользователя:
- Запустите
insert_keypairи запишите идентификатор пары ключей. - Запустите
insert_identityиспользуя идентификатор этой пары ключей.
Идентификатор пары ключей также можно получить, выполнив команду list_keypair .
Шаг 4: Убедитесь, что у пользователей есть пары ключей и идентификаторы CSE.
Убедитесь, что у пользователей в Gmail есть действительные пары ключей и учетные данные, выполнив для каждого пользователя следующие команды:
list_keypair
list_identity
Чтобы переключиться на другой ключевой сервис для Gmail CSE
Если вы хотите переключиться на другую службу ключей для Gmail CSE, повторите шаги 2 и 3 в разделе «Настройка сертификатов CSE S/MIME для пользователей» выше, используя новую службу ключей для упаковки закрытых ключей.
Примечание: Загрузка новых сертификатов для пользователей не приводит к переносу контента в новую службу ключей. Однако пользователи могут продолжать получать доступ к электронной почте, зашифрованной с помощью предыдущих сертификатов, и к метаданным закрытого ключа, хранящимся в старой службе ключей.
Перенесите сообщения в Gmail в виде зашифрованных на стороне клиента электронных писем.
Теперь, когда Gmail CSE настроен, вы можете дополнительно импортировать сообщения. Подробности см. в разделе «Перенос сообщений в Gmail в виде зашифрованной на стороне клиента электронной почты» .