Página inicial do Docs → Iniciar e gerenciar o MongoDB → MongoDB Atlas
Gerenciar chaves do cliente com Google Cloud KMS
Nesta página
- Habilite chaves gerenciadas pelo cliente com o Google Cloud KMS
- Exemplo
- Acesso obrigatório
- Pré-requisitos
- Habilitar chaves gerenciadas pelo cliente para um projeto
- Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
- Alertas
- Alterne o ID do recurso da versão da chave do GCP
- Chave mestra MongoDB - Responsabilidade do MongoDB
- Seu Google Cloud CMK - Sua responsabilidade
- Pré-requisitos
- Procedimento
- Alertas
- Tópicos relacionados
Observação
Esta funcionalidade não está disponível para clusters gratuitos
M0
e clustersM2
eM5
. Para saber mais, consulte Atlas M0 (agrupamento gratuito), M2 e M5 Limites.No momento, esse recurso não é compatível com instâncias sem servidor. Para saber mais, consulte Limitações de instância sem servidor.
Você pode usar uma chave gerenciada pelo cliente (CMK) do Google Cloud KMS para criptografar ainda mais seus dados em repouso no Atlas.
O Atlas usa sua CMK do Google Cloud KMS para criptografar e descriptografar as chaves mestras do MongoDB, que são usadas para criptografar arquivos de banco de dados de cluster e snapshots de provedores de nuvem. Para saber mais sobre como o Atlas usa CMKs para criptografia, consulte Habilitar chaves gerenciadas pelo cliente com o Google Cloud KMS.
Quando você utiliza seu próprio provedor de nuvem KMS, o Atlas gira automaticamente as chaves mestres MongoDB a cada 90 dias. Essas chaves são giradas de forma contínua e o processo não exige que os dados sejam reescritos.
Você deve configurar o gerenciamento de chave do cliente para o projeto Atlas antes de habilitá-lo em clusters neste projeto.
Habilite chaves gerenciadas pelo cliente com o Google Cloud KMS
O gerenciamento de chaves do cliente no Atlas segue um processo chamado criptografia de envelope . Esse processo cria várias camadas de criptografia criptografando uma chave com outra chave. Para habilitar o gerenciamento de chaves do cliente, o Atlas usa as seguintes chaves de criptografia:
Customer-Managed Key (CMK)
As chaves gerenciadas pelo cliente são chaves de criptografia que você cria, possui e gerencia no Google Cloud KMS. Você cria a chave mestra do cliente no Google Cloud KMS e a conecta ao Atlas no nível do projeto . Para saber mais sobre as chavesmestras do cliente usadas no Google Cloud KMS, consulte a Documentação do Google Cloud.
O Atlas usa essa chave somente para criptografar as chaves mestras do MongoDB.
MongoDB Master Key
Cada nó em seu cluster Atlas cria uma Chave Mestre MongoDB. As chaves mestras do MongoDB são chaves de criptografia que um servidor MongoDB usa para criptografar arquivos por meio do mecanismo de armazenamento WiredTiger. O Atlas salva uma cópia criptografada da chave localmente.
Essa chave é criptografada com a CMK e criptografa as chaves de encriptação por banco de dados.
Per-Database Encryption Key
Cada nó em seu Atlas cluster também cria uma chave de criptografia por banco de dados em seu cluster. O Atlas utiliza essas chaves para ler e gravar dados via WiredTiger, que também criptografa e armazena essas chaves.
Essa chave é criptografada com a chave mestra MongoDB.
Exemplo
Considere a seguinte hierarquia de criptografia para um conjunto de réplicas de três nós. O Atlas usa a CMK do Google Cloud KMS para criptografar uma chave mestra MongoDB exclusiva para cada nó no cluster. Cada nó também contém três bancos de dados, cada um dos quais é criptografado com uma chave de encriptação exclusiva por banco de dados. Quando o cluster é iniciado, o Atlas descriptografa a chave mestra MongoDB usando a CMK do Google Cloud KMS e a fornece ao servidor MongoDB.
Observação
Se você revogar o acesso do Atlas à CMK, o Atlas desligará os nós no seu cluster e você não poderá acessar seus dados até restaurar o acesso à CMK.
Acesso obrigatório
Para configurar o gerenciamento de chave de cliente, você deve ter Project Owner
acesso ao projeto.
Os usuários com acesso Organization Owner
devem se adicionar ao projeto como um Project Owner
.
Pré-requisitos
Para habilitar chaves gerenciadas pelo cliente com o Google Cloud KMS para um projeto MongoDB, você deve ter:
Use um cluster M10 ou superior.
Use backups em nuvem para criptografar seus snapshots de backups. Backups legados não são compatíveis.
Sua chave de conta do Google Cloud Service.
Sua Chave de criptografia simétrica no Google Cloud KMS.
O ID do recurso da versão da chave associado à sua chave de criptografia do Google Cloud KMS.
Uma conta de serviço do Google Cloud com credenciais especificadas em sua chave de conta de serviço com permissões suficientes para:
Obtenha a versão da Chave de criptografia KMS do Google Cloud.
Criptografe dados com a versão da chave de encriptação do Google Cloud KMS.
Descriptografe dados com a chave de criptografia KMS do Google Cloud.
Observação
A chave, não a versão da chave, lida com descriptografia.
Se sua configuração do Google Cloud KMS exigir, use os serviços acessíveis do GCP dos endereços IP do Atlas e dos endereços IP públicos ou nomes de host DNS dos nós do cluster para que o Atlas possa se comunicar com o KMS. Se os endereços IP do nó mudarem, você deverá atualizar sua configuração para evitar interrupções de conectividade.
Dica
Veja também:
Consulte a documentação do Google Cloud para saber como:
Habilitar chaves gerenciadas pelo cliente para um projeto
Você deve habilitar o gerenciamento de chaves de cliente para um projeto antes de habilitá-lo em um cluster nesse projeto.
Navegue até a página Advanced do seu projeto.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Clique em Advanced na barra lateral.
Insira Key Version Resource ID.
Sua ID de recurso de versão de chave é o nome de recurso totalmente qualificado para uma CryptoKeyVersion.
Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
Após Habilitar Chaves Gerenciadas pelo Cliente para um Projeto, você deve habilitar o gerenciamento de chave do cliente para cada cluster do Atlas que contém dados que você deseja criptografar.
Observação
Você deve ter a role Project Owner
para habilitar o gerenciamento de chaves do cliente para clusters nesse projeto.
Para novos clusters, alterne a configuração Gerenciar suas próprias chaves de encriptação para Yes quando você criar o cluster.
Para clusters existentes:
Navegue até a página Database Deployments do seu projeto.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se a página Database Deployments ainda não estiver exibida, clique em Database na barra lateral.
Opcional: Adicionar endereços IP a partir de seus nós de cluster.
Dependendo da configuração do serviço de gerenciamento de chaves, talvez seja necessário adicionar endereços IP do nó do Atlas Cluster à lista KMS do provedor de nuvem, para que o cluster possa se comunicar com o KMS. Para habilitar a comunicação entre o cluster e o KMS:
Envie uma solicitação GET para o endpoint
ipAddresses
. O endpoint da API retorna uma lista de endereços IP dos nós do cluster existentes, semelhante a esta:{ "groupId": "xxx", // ObjectId "services": { "clusters": [ { "clusterName": "Cluster0", "inbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ], "outbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ] } ] } } Adicione os endereços IP retornados à lista de acesso IP do seu provedor de nuvem. Consulte os pré-requisitos para gerenciar chaves de consumidor com AWS, Azure e GCP para obter mais informações.
Alertas
O Atlas cria automaticamente um encryption key rotation alert
quando você configura o gerenciamento de chaves do cliente para um projeto. Você pode redefinir esse alerta a qualquer momento girando sua ID de recurso de versão de chave do GCP.
Alterne o ID do recurso da versão da chave do GCP
Observação
Esta funcionalidade não está disponível para clusters gratuitos
M0
e clustersM2
eM5
. Para saber mais, consulte Limites do Atlas M0 (cluster gratuito), M2 e M5.No momento, esse recurso não é compatível com instâncias sem servidor. Para saber mais, consulte Limitações de instância sem servidor.
Chave mestra MongoDB - Responsabilidade do MongoDB
Quando você utiliza seu próprio provedor de nuvem KMS, o Atlas gira automaticamente as chaves mestres MongoDB a cada 90 dias. Essas chaves são giradas de forma contínua e o processo não exige que os dados sejam reescritos.
Seu Google Cloud CMK - Sua responsabilidade
O Atlas não gira automaticamente o ID do recurso de versão de chave usado para o gerenciamento de chaves do Google Cloud.
Como prática recomendada, o Atlas cria um alert
para lembrá-lo de alternar o ID do recurso da versão de chave do GCP a cada 90 dias por padrão quando você ativa a criptografia em repouso para o projeto do Atlas. Você pode configurar o período deste alerta.
Você pode girar você mesmo o CMK do Google Cloud ou configure sua instância do KMS do Google Cloud para girar automaticamente sua CMK. Se você configurar a rotação automática da CMK do Google Cloud, o período padrão de rotação será de aproximadamente 365 dias.
Se você já configurou uma rotação automática de CMK no Google Cloud e não deseja receber o alerta Atlas para rotacionar seu CMK a cada 90 dias, você pode modificar o período de alerta padrão para ser maior que 365 dias.
Pré-requisitos
Você deve criar uma nova Chave de Conta de Serviço na conta do Google Cloud associada ao seu projeto Atlas.
Procedimento
O procedimento a seguir documenta como girar o identificador de chave do projeto Atlas especificando uma nova ID de recurso de versão de chave no Atlas.
Navegue até a página Advanced do seu projeto.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Clique em Advanced na barra lateral.
Atualize os detalhes da Chave GCP.
Clique em Google Cloud KMS se a guia Google Cloud KMS ainda não estiver ativa.
Expanda Encryption Key Credentials se a caixa de diálogo Encryption Key Credentials ainda não for exibida.
Insira o ID do recurso da versão da chave do GCP na entrada Key Identifier.
Inclua o nome do recurso totalmente qualificado para uma CryptoKeyVersion.
Exemplo
projects/my-project-0/locations/us-east4/keyRings/my-key-ring-0/cryptoKeys/my-key-0/cryptoKeyVersions/1 A chave de criptografia deve pertencer à chave de conta de serviço do Google Cloud configurada para seu projeto Atlas. Clique na seção Service Account Key para visualizar a Chave de Conta de Serviço configurada atualmente para o projeto.
Clique em Update Credentials.
O Atlas exibe um banner no console do Atlas durante o processo de rotação do Identificador de Chave.
Aviso
Não exclua nem desative a ID original do recurso da versão da chave até que suas alterações sejam implantadas.
Se o cluster usar Backup Up Your Database Deployment, não exclua nem desative a ID original do recurso da versão da chave até garantir que nenhum snapshot tenha usado essa chave para criptografia.
Alertas
O Atlas redefine o temporizador encryption key rotation alert
na conclusão deste procedimento.
Tópicos relacionados
Para ativar a Criptografia em Repouso usando seu gerenciamento de chaves ao implantar um Atlas cluster, consulte Gerenciar Suas Próprias Chaves de Criptografia.
Para habilitar a Criptografia em Repouso usando o Gerenciamento de Chaves para um Atlas cluster existente, consulte Habilitar Criptografia em Repouso.
Para saber mais sobre Criptografia em Repouso usando seu Gerenciamento de Chaves no Atlas, consulte Criptografia em Repouso usando o Gerenciamento de Chaves do Consumidor.
Para saber mais sobre a encryption at rest MongoDB, consulte Encryption at rest na documentação do servidor MongoDB.
Para saber mais sobre encryption at rest com backups em nuvem, consulte Mecanismo de armazenamento e criptografia de backup em nuvem.