Observação
Este recurso não está disponível para nenhuma das seguintes implantações:
Clusters gratuitos
Clusters flexíveis
Para saber mais,consulte Limites.
Você pode usar uma chave gerenciada pelo cliente (CMK) da GCP KMS para criptografar ainda mais seus dados em repouso no Atlas.
Observação
The MongoDB Atlas Shared Responsibility Model defines the complementary duties of MongoDB and its customers in maintaining a secure and resilient data environment. Under this framework, MongoDB manages the security and operational integrity of the underlying platform, while customers are responsible for the configuration, management, and data policies of their specific deployments. For a detailed breakdown of ownership across security and operational excellence, see Shared Responsibility Model.
Atlas uses your CMK from Google Cloud KMS to encrypt and decrypt MongoDB Master Keys, which are then used to encrypt cluster database files and cloud providers snapshots. To learn more about how Atlas uses CMKs for encryption, see Enable Customer-Managed Keys with Google Cloud KMS.
Quando você usa seu próprio KMS do provedor de nuvem, o Atlas rotaciona automaticamente as MongoDB Master Keys pelo menos a cada 90 dias. Sua rotação de chaves começará durante um período de manutenção, se você tiver um configurado. O adiamento da manutenção (manual ou automaticamente) pode fazer com que a chave seja rotacionada além da marca de 90dias. As chaves são giradas de forma contínua e o processo não exige que os dados sejam reescritos.
Observação
Atlas Infinite
Google Cloud KMS isn't available for Atlas Infinite during public preview. Atlas Infinite supports customer-managed keys only through AWS KMS during public preview. To learn how encryption at rest works for Atlas Infinite, see Atlas Infinite Encryption.
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 ao criptografar 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)Customer-managed keys are encryption keys that you create, own, and manage in Google Cloud KMS. You create the CMK in Google Cloud KMS and connect it to Atlas at the Project level. To learn more about the CMKs used in Google Cloud KMS, see Google Cloud Documentation.
O Atlas usa essa chave somente para criptografar as chaves mestras do MongoDB.
MongoDB Master KeyCada nó em seu cluster Atlas cria uma Chave Mestre MongoDB . As chaves mestres MongoDB são chaves de criptografia que um MongoDB Server usa para criptografar as chaves de criptografia por banco de dados. O Atlas salva uma cópia criptografada da chave localmente.
Essa chave é criptografada com a chave mestra do cliente e criptografa as chaves de criptografia por banco de dados.
Per-Database Encryption KeyCada nó no cluster do Atlas também cria uma chave de criptografia por cada banco de dados no seu cluster. O Atlas usa essas chaves para ler e gravar dados através do 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 da GCP 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 GCP KMS e a fornece ao MongoDB Server.
Observação
Se você revogar o acesso do Atlas à chave mestra do cliente, o Atlas desliga os nós do seu cluster e você não poderá acessar seus dados até restaurar o acesso à chave mestra do cliente.

Acesso necessá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 do MongoDB, é necessário ter:
- Use um cluster M10 ou superior.
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 a configuração do Google Cloud KMS exigir, crie níveis de acesso pelo GCP para os endereços IP do Atlas e os endereços IP públicos ou nomes de host DNS dos nós do cluster para que o Atlas possa se comunicar com seu KMS. Se os endereços IP do nó forem alterados, você deverá atualizar sua configuração para evitar interrupções de conectividade.
Dica
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.
No Atlas, vá para a página Advanced do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Database & Network Access sob o título Security.
Na barra lateral, clique em Advanced.
A página Avançado é exibida.
Insira o Key Version Resource ID.
Insira o ID do recurso da versão da chave para a chave KMS do Google Cloud Platform que você deseja usar para criptografar seus dados em repouso.
Sua ID de recurso de versão de chave é o nome de recurso totalmente qualificado para uma CryptoKeyVersion.
Importante
Você deve inserir um ID válido antes de configurar seu método de autenticação.
Configure seu método de autenticação.
O Atlas oferece suporte a dois métodos de autenticação para o GCP KMS:
Conta de serviço (recomendado): Use uma conta de serviço gerenciada pelo Atlas específica para seu projeto para autenticar no GCP.
Credenciais estáticos: forneça uma chave de conta de serviço gerenciada pelo cliente.
Para conceder acesso de forma segura, o Atlas utiliza uma conta de serviço específica para seu projeto do Atlas para autenticar no GCP. Depois, atribua políticas à conta de serviço para controlar o acesso aos recursos do seu projeto.
Observação
Se você configurou anteriormente a criptografia em descanso com credenciais estáticas e agora está migrando para a autenticação baseada em conta de serviço, observe que esta migração é estritamente unidirecional. O Atlas não permite a reversão para o método de autenticação de credencial estática.
Se você tiver uma conta de serviço Atlas GCP existente com as permissões necessárias já configuradas, selecione-a no menu suspenso Connect Service Account. Caso contrário, conclua as seguintes etapas:
Clique em Authorize a new service account. A caixa de diálogo Encrypt Data with GCP KMS é exibida.
Se você ainda não configurou uma conta de serviço para seu projeto Atlas, clique no botão Set Up para criar seus recursos GCP. O Atlas faz o provisionamento da pasta do GCP e cria a conta de serviço. A pasta é necessária para criar contas de serviço. Pule esta etapa se você já tiver uma conta de serviço para seu projeto Atlas.
Selecione a conta de serviço do Atlas no menu suspenso ou crie uma nova.
Execute os comandos gcloud que parecem conceder à conta de serviço as seguintes permissões necessárias:
Enable Encrypt/Decrypt operations
gcloud kms keys add-iam-policy-binding \ <key-name> \ --location <location> \ --keyring <keyring-name> \ --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \ --role="roles/cloudkms.cryptoKeyEncrypterDecrypter" Enable GetPublicKey operations
gcloud kms keys add-iam-policy-binding \ <key-name> \ --location <location> \ --keyring <keyring-name> \ --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \ --role="roles/cloudkms.viewer"
Clique em Validate & Finish para confirmar.
Você pode especificar manualmente uma chave de conta de serviço alternando Authorize with static credentials para On. Em seguida, insira sua chave formatada como um objeto JSON com as credenciais de criptografia para sua conta de serviço do GCP na caixa de texto.
Importante
As credenciais estáticas serão descontinuadas em uma versão futura. Use a autenticação da conta de serviço para novos projetos quando possível. Os projetos existentes que usam credenciais estáticas podem continuar a usá-las, mas não podem voltar depois da migração para a autenticação da conta de serviço.
Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
After you Enable Customer-Managed Keys for a Project, you must enable customer key management for each Atlas cluster that contains data that you want to encrypt.
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:
No Atlas, vá para a página Clusters do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto 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.
Na barra lateral, clique em Clusters sob o título Database.
A página Clusters é exibida.
Habilitar criptografia de cluster.
Expanda o painel Additional Settings.
Alterne a configuração Manage your own encryption keys para Yes.
Verifique o status da configuração Require Private Networking para seu cluster.
Se você configurou a criptografia em repouso usando CMK (Over Private Networking) para Atlas no nível do projeto, o status é Active. Se você não configurou nenhuma conexão de private endpoint para seu projeto, o status será Inactive.
Alertas
Atlas automatically creates an encryption key rotation alert once you configure customer key management for a project. You can reset this alert at any time by rotating your GCP Key Version Resource ID.
Alterne o ID do recurso da versão da chave do GCP
Observação
Este recurso não está disponível para nenhuma das seguintes implantações:
Clusters gratuitos
Clusters flexíveis
Para saber mais,consulte Limites.
Chave mestra MongoDB - Responsabilidade do MongoDB
Quando você usa seu próprio KMS do provedor de nuvem, o Atlas rotaciona automaticamente as MongoDB Master Keys pelo menos a cada 90 dias. Sua rotação de chaves começará durante um período de manutenção, se você tiver um configurado. O adiamento da manutenção (manual ou automaticamente) pode fazer com que a chave seja rotacionada além da marca de 90dias. As 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 melhores práticas, 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ê habilita a criptografia em repouso para o projeto do Atlas. É possível configurar o período desse alertas.
You can rotate your Google Cloud CMK yourself or configure your Google Cloud KMS instance to automatically rotate your CMK. If you configure automatic Google Cloud CMK rotation, the default time period for rotation is approximately 365 days.
Se você já configurou uma rotação automática de chave mestra do cliente no Google Cloud e não deseja receber o alerta do Atlas para rotacionar seu chave mestra do cliente 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.
No Atlas, vá para a página Advanced do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Database & Network Access sob o título Security.
Na barra lateral, clique em Advanced.
A página Avançado é exibida.
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 estiver sendo 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 o Back Up Your Cluster, não exclua nem desative a ID do recurso da versão de chave original 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.
Habilitar chaves gerenciadas pelo cliente para nós de pesquisa
By default, MongoDB and search processes run on the same nodes. With this architecture, customer-managed encryption applies to your database data, but it does not apply to search indexes.
Quando você habilita nós de pesquisa dedicados, os processos de pesquisa são executados em nós separados. Isso permite que você ative a criptografia de dados do nó de pesquisa, para que possa criptografar os dados do banco de dados e os índices de pesquisa com as mesmas chaves gerenciadas pelo cliente para uma cobertura abrangente de criptografia.
Os nós de pesquisa dedicados não são suportados em clusters do Atlas Infinite clusters durante a visualização pública.
Observação
Database nodes and Search Nodes use different encryption methods with the same customer-managed keys. Database nodes use the WiredTiger Encrypted Storage Engine, while Search Nodes use encryption at the disk level.
Importante
Este recurso está disponível em todos os provedores de KMS.
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.
To learn more about MongoDB Encryption at Rest, see Encryption at Rest in the MongoDB server documentation.
Para saber mais sobre encryption at rest com backups em nuvem, consulte Mecanismo de armazenamento e criptografia de backup em nuvem.