Menu Docs
Página inicial do Docs
/
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 necessá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 M0 gratuitos e clusters M2 e M5 . 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.

Você pode usar uma chave gerenciada pelo cliente (CMK) da GCP KMS para criptografar ainda mais seus dados em repouso no Atlas.

O Atlas usa sua CMK do GCP 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 GCP KMS.

Quando você usa seu próprio provedor de nuvem KMS, o Atlas reveza automaticamente as chaves mestras do MongoDB a cada 90 dias. Essas chaves são revezadas 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.

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. Crie a CMK no Google Cloud KMS e conecte-a ao Atlas no nível do Projeto. Para saber mais sobre os CMKs usados 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 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 Key

Cada 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.

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 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.

Diagrama do fluxo de trabalho CMK com GCP KMS e Atlas
clique para ampliar

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.

Para habilitar chaves gerenciadas pelo cliente com o Google Cloud KMS para um projeto MongoDB, você deve ter:

  • 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 informar 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

Veja também:

Você deve habilitar o gerenciamento de chaves de cliente para um projeto antes de habilitá-lo em um cluster nesse projeto.

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Advanced sob o título Security.

    A página Avançado é exibida.

2
3
4

Seu Service Account Key deve ser formatado como um objeto JSON. Ele contém as credenciais de criptografia para sua conta de serviço do GCP.

5

Sua ID de recurso de versão de chave é o nome de recurso totalmente qualificado para uma CryptoKeyVersion.

6

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:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2

Para o cluster que contém os dados que você deseja criptografar, clique no botão e selecione Edit Configuration.

3
  1. Expanda o painel Additional Settings.

  2. Alterne a configuração Manage your own encryption keys para Yes.

  3. 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 endpoint privada para seu projeto, o status é Inactive.

4
  1. Clique em Review Changes.

  2. Revise suas alterações e clique em Apply Changes para atualizar seu cluster.

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.

Observação

Quando você usa seu próprio provedor de nuvem KMS, o Atlas reveza automaticamente as chaves mestras do MongoDB a cada 90 dias. Essas chaves são revezadas de forma contínua e o processo não exige que os dados sejam reescritos.

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 alerta.

Você pode girar você GCP mesmo a CMK GCP do ou configure sua instância KMSda do para girar automaticamente sua CMK . Se você configurar GCP a alteração automática da CMK do , o período padrão de alteraçã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.

Você deve criar uma nova Chave de Conta de Serviço na conta do Google Cloud associada ao seu projeto Atlas.

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.

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Advanced sob o título Security.

    A página Avançado é exibida.

2
3
  1. Clique em Google Cloud KMS se a guia Google Cloud KMS ainda não estiver ativa.

  2. Expanda Encryption Key Credentials se a caixa de diálogo Encryption Key Credentials ainda não estiver sendo exibida.

  3. 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.

  4. 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.

O Atlas redefine o temporizador encryption key rotation alert na conclusão deste procedimento.

Voltar

Configurar acesso a endpoints privados