Edições compatíveis com este recurso: Enterprise Plus; Education Standard e Education Plus. Comparar sua edição
Para usar a criptografia do lado do cliente (CSE) do Google Workspace, ative a API Gmail e conceda acesso a toda a organização. Feito isso, use a API Gmail para fazer o upload de um certificado (S/MIME) (Secure/Multipurpose Internet Mail Extensions) (chave pública) e metadados de chave privada no Gmail. Se você estiver usando um serviço de chaves de criptografia, também vai precisar criptografar (ou "encapsular") os metadados de chave privada dos usuários com esse serviço.
É possível mudar a qualquer momento para um serviço de chaves diferente, basta fazer upload de novos certificados S/MIME e metadados de chave privada criptografados pelo novo serviço.
Sobre o S/MIME
O S/MIME é um protocolo padrão amplamente aceito pelo setor de assinatura e criptografia de e-mails digitais, que visa garantir a integridade e segurança das mensagens. A CSE do Gmail usa o padrão IETF do S/MIME 3.2 para enviar e receber dados MIME seguros. O S/MIME exige que os remetentes e destinatários de e-mails tenham certificados X.509 de confiança do Gmail.
Observação: você também pode usar o S/MIME sem outra camada de criptografia e privacidade oferecida pela CSE. Use essa alternativa apenas se você não precisar impedir que os servidores do Google descriptografem seus dados com a CSE. Saiba mais em Ativar o S/MIME hospedado para a criptografia de mensagens.
Antes de começar
Siga todas as etapas a seguir:
- Escolha um serviço de chaves.
- Conecte ao seu provedor de identidade (IdP).
- Configurar o serviço de chaves externo ou a criptografia da chave de hardware.
- Atribuir um serviço de chaves ou criptografia de chaves de hardware a unidades organizacionais ou grupos.
Se você estiver usando vários serviços de chaves, eles precisam estar atribuídos às unidades organizacionais ou aos grupos de configuração pertinentes.
Configurar a API Gmail
Observação: o uso das APIs requer conhecimento de programação.
- Crie um novo projeto do GCP. Veja mais detalhes em Como criar e gerenciar projetos.
Anote o ID do projeto: você usará esse ID para conceder acesso à API em todo o domínio.
- Acesse o Console de APIs do Google e ative a API Gmail no novo projeto. Saiba mais em Como ativar uma API no seu projeto do Google Cloud.
- No console do Google Cloud, acesse a página Contas de serviço e crie uma conta de serviço para todo o domínio. Saiba mais em Criar e gerenciar contas de serviço.
- Crie uma chave privada da conta de serviço. Salve essa chave em um arquivo JSON , como
svc_acct_creds.json
, no sistema local. Esse arquivo contém as credenciais que você vai usar ao configurar o Gmail para os usuários. Saiba mais em Criar e gerenciar chaves de contas de serviço.
Nesta etapa, você vai usar a conta de serviço criada para conceder à API Gmail acesso para editar todos os usuários.
- Siga as instruções para Controlar o acesso da API com a delegação em todo o domínio.
- Quando solicitado, insira:
ID do cliente: o ID da conta de serviço criada na Etapa 2 acima.
Escopos do OAuth:
gmail.settings.readonly
e atégmail.settings.basic
ougmail.settings.sharing
Ativar a CSE do Gmail para usuários
Ative a CSE no Gmail para unidades organizacionais ou grupos.Saiba mais em Ativar ou desativar a criptografia do lado do cliente.
Observação: nas unidades organizacionais, você pode configurar a ativação da criptografia de todos os e-mails (escrever, responder e encaminhar) por padrão. O usuário ainda pode desativar a criptografia, se necessário. Requires having the Assured Controls or Assured Controls Plus add-on.
Configurar certificados S/MIME para CSE para usuários
Depois de configurar a API Gmail e ativar a CSE do Gmail para usuários no Admin Console, você pode configurar certificados S/MIME e metadados de chave privada da CSE para os usuários.
Etapa 1: preparar certificados S/MIME e metadados de chave privadaPara cada usuário que vai usar a CSE do Gmail para enviar ou receber e-mails:
Usando uma autoridade certificadora (AC), gere um par de chaves pública/privada S/MIME com uma cadeia de certificados. O certificado de folha de S/MIME precisa incluir o endereço principal do Gmail do usuário como um nome de assunto ou assunto da extensão SAN.
É possível:
- Usar um certificado raiz de CA de confiança do Google: para acessar uma lista de certificados raiz, consulte Certificados de CA de confiança do Gmail para S/MIME.
- Usar uma CA que não seja de confiança do Google: para usar sua própria CA, por exemplo, adicione o certificado raiz no Admin Console. Saiba mais em Gerenciar certificados confiáveis para S/MIME.
Observação: se você usa uma CA na qual o Google não confia e os usuários enviam e-mails criptografados do lado do cliente fora da sua empresa, o destinatário também precisa confiar na CA.
Use seu serviço de chaves para criptografar ou "encapsular" os metadados das chaves privadas S/MIME. Entre em contato com seu serviço de chaves para fazer isso ou siga as instruções fornecidas.
Se você estiver usando a criptografia de chaves de hardware: pule esta etapa e não una metadados de chave privada dos usuários que vão usar a criptografia de chaves de hardware. Nesse caso, não é necessário unir os metadados porque as chaves privadas dos usuários do Gmail ficam nos cartões inteligentes. Requires having the Assured Controls or Assured Controls Plus add-on.
Use a API Gmail para enviar ao Gmail a cadeia de certificados de S/MIME de chave pública e os metadados da chave privada. Depois, crie uma identidade para definir as chaves preferidas dos usuários.
Siga estas etapas para cada usuário usando o arquivo de chave privada que você transferiu por download ao criar uma conta de serviço em todo o domínio para autenticação:
- Faça upload da cadeia de certificados e dos metadados da chave privada usando a chamada de API do Gmail
keypairs.create
. - Ative o par de chaves para o endereço de e-mail principal do usuário usando a chamada da API Gmail
identities.create
.A chamada
identities.create
exige o ID do par de chaves retornado no corpo da resposta da chamadakeypairs.create
.Observação: ative o par de chaves para o endereço de e-mail de um usuário:
- Cria uma identidade da CSE autorizada a enviar e-mails da conta do usuário.
- Configura o Gmail para usar os metadados da chave privada para assinar os e-mails enviados com a CSE.
- Publica o certificado em um repositório compartilhado em todo o domínio para que outros usuários da CSE na organização possam criptografar mensagens enviadas a esse usuário.
Para concluir estas etapas, use um script que faça a interface com a API Gmail. É possível:
- Escrever seu próprio script.
- Usar o script de amostra Python fornecido pelo Google. Confira instruções em Usar o script Python do Google para fazer upload de certificados e chaves encapsuladas de usuários para o Gmail abaixo.
Observação: este script é válido apenas aos usuários que vão usar um serviço de chaves para criptografar o conteúdo do Gmail. Para qualquer usuário que use criptografia de chaves de hardware, é necessário criar um script diferente para fazer upload dos metadados da chave privada desencapsulada.
Depois do upload dos certificados, pode levar até 24 horas para que eles sejam disponibilizados no Gmail, embora geralmente demore menos.
Para concluir a etapa 3 acima, você pode usar o script Python fornecido pelo Google em vez de escrever o próprio.
Observação: esse script solicita os três escopos que você pode usar para conceder acessos em todo o domínio da API Gmail (listados anteriormente nesta página): gmail.settings.readonly
, gmail.settings.basic
e gmail.settings.sharing
. Para usar o script, ative os três escopos ou remova o escopo que você não está usando do script.
Fazer o download do script
Faça o download do pacote de scripts Python (.zip) no seu computador (Mac, Linux ou Windows) e extraia os arquivos no diretório de trabalho.
Criar um ambiente virtual e instalar módulos
No diretório de trabalho, use a linha de comando da seguinte forma:
python3 -m venv cli_env
source cli_env/bin/activate
pip install -r requirements.txt
Invocar o script
python cse_cmd.py -h
Fazer upload de certificados e chaves do usuário
Etapa 1: criar um diretório para armazenar todas as chaves privadas encapsuladas
- Por exemplo, você pode criar o diretório
$root/wrapped_keys
. - O nome de arquivo de cada chave privada encapsulada precisa ser o endereço de e-mail completo do usuário com a extensão
.wrap
. Por exemplo:$root/wrapped_keys/user1@example.com.wrap
- Verifique se o arquivo da chave privada encapsulada tem um objeto JSON com dois campos obrigatórios:
{
'kacls_url': 'url of the key service configured in the Admin console',
'wrapped_private_key': 'wrapped private key bytes'
}
Etapa 2: criar um diretório para armazenar todos os certificados
- Os certificados precisam estar no formato PEM P7. Por isso, você pode criar o diretório
$root/p7pem_certs
. - Verifique se o arquivo de certificado contém toda a cadeia para a autoridade certificadora (CA, na sigla em inglês) raiz.
- O nome de arquivo de cada certificado precisa ser o endereço de e-mail completo do usuário com a extensão
.p7pem
. Por exemplo:$root/p7pem_certs/user1@example.com.p7pem
Se você tiver um arquivo P7B: use o seguinte comentário openssl e converta o arquivo para o formato P7 PEM.
openssl pkcs7 -inform DER -in {old_name.p7b} -outform PEM -out {new_name.p7pem}
Etapa 3: fazer upload de pares de chaves e identidades dos usuários
Nesta etapa, você precisa do arquivo JSON que contém as credenciais da conta de serviço, salvo no computador na Etapa 2: criar uma conta de serviço acima.
A maneira mais fácil de fazer upload de pares de chaves e identidades dos usuários é executar o comando insert
. Cada comando precisa ter um argumento. Por exemplo:
python cse_cmd.py insert
--creds $root/svc_acct_creds.json
--inkeydir $root/wrapped_keys
--incertdir $root/p7pem_certs
Você também pode fazer o seguinte para cada usuário:
- Executar
insert_keypair
e anotar o ID do par de chaves. - Executar
insert_identity
usando esse ID de par de chaves.
Também é possível encontrar o ID do par de chaves executando o comando list_keypair
.
Etapa 4: verificar se os usuários têm identidades e pares de chaves com CSE
Verifique se os usuários têm identidades e pares de chave válidos no Gmail executando os seguintes comandos para cada usuário:
list_keypair
list_identity
Para mudar para outro serviço de chaves na CSE do Gmail
Para mudar para um serviço de chaves diferente para a CSE do Gmail, repita as etapas 2 e 3 em Configurar a CSE do Gmail para usuários acima usando o novo serviço de chaves para unir as chaves privadas.
Observação: o upload de novos certificados de usuários não migra conteúdo para o novo serviço de chaves. No entanto, os usuários podem continuar acessando os e-mails criptografados com os certificados e metadados de chave privada unidos pelo serviço de chaves antigo.
Migrar mensagens para o Gmail como e-mails criptografados do lado do cliente
Agora que a CSE do Gmail está configurada, você pode importar mensagens. Saiba mais em Migrar mensagens para o Gmail como e-mails criptografados do lado do cliente.