Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ /

Gerenciar chaves de cliente com AWS KMS

Nesta página

  • Acesso necessário
  • Habilitar chaves gerenciadas pelo cliente com AWS KMS
  • Exemplo
  • Pré-requisitos
  • Habilite para o acesso baseado em roles à sua chave de encriptação para um projeto
  • Mude para o acesso baseado em roles à sua chave de encriptação para um projeto
  • Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
  • Alterne sua chave mestra do cliente AWS
  • Chave mestra MongoDB - Responsabilidade do MongoDB
  • Seu AWS CMK - Sua responsabilidade
  • Procedimento
  • Reconfigurar região do AWS KMS durante uma interrupção
  • Procedimento
  • Tópicos relacionados

Observação

A partir da versão de 26 de janeiro de 2021, você deve usar roles do AWS IAM em vez de usuários do IAM para gerenciar o acesso às suas chaves de criptografia do AWS KMS para o gerenciamento de chaves do cliente.

Ao mudar de usuários do AWS IAM para roles, certifique-se de que seu novo role tenha acesso à sua antiga chave mestra do cliente AWS.

Importante

Recurso Indisponível em Instâncias sem Servidor

Neste momento, as instâncias sem servidor não permitem essa funcionalidade. Para saber mais, consulte Limitações de instância sem servidor.

Você pode configurar seu projeto Atlas para utilizar um role AWS IAM para acessar suas chaves AWS KMS para encryption at rest. Você pode usar um role existente ou criar um novo role ao habilitar a encryption at rest para seu projeto.

Esta página aborda a configuração do gerenciamento de chaves do cliente em seu projeto Atlas para acesso baseado em role.

Se você ainda não habilitou a criptografia em repouso para seu projeto Atlas novo ou existente, siga o procedimento Habilitar acesso baseado em roles para sua chave de criptografia para um projeto para habilitar a criptografia em repouso para seu projeto Atlas. Se você tiver um projeto Atlas para o qual já tenha habilitado a criptografia em repouso e configurado o acesso baseado em credenciais às suas chaves de criptografia, siga o procedimento Alternar para acesso baseado em role às sua chave de criptografia para obter um procedimento do projeto para alternar para o acesso baseado em role às suas chaves de criptografia.

Você deve configurar o gerenciamento de chave do cliente para o projeto Atlas antes de habilitá-lo em clusters neste projeto.

Dica

Veja também:

Para configurar o gerenciamento de chaves do cliente, você deve ter acessoProject Owner ao projeto.

Os usuários com acesso Organization Owner devem se adicionar ao projeto como um Project Owner.

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 AWS KMS. Você cria a CMK no AWS KMS e a conecta ao Atlas no nível do Projeto . Para saber mais sobre as chaves mestras do cliente usadas no AWS KMS, consulte a Documentação do AWS KMS .

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.

Considere a seguinte hierarquia de criptografia para um conjunto de réplicas de três nós. O Atlas usa a CMK do AWS 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 AWS 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.

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

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

  • Tenha uma chave simétrica do AWS KMS . Para saber como criar uma chave, consulte Criando Chaves na documentação da AWS .

    Observação

    Para garantir a resiliência no caso de uma interrupção regional, configure sua chave KMS para ser uma chave de várias regiões.

    Para saber mais, consulte Reconfigurar a região do AWS KMS durante uma interrupção.

  • Tenha um role AWS IAM com privilégios suficientes. O Atlas deve ter permissão para realizar as seguintes ações com sua chave:

    Observação

    Se você quiser usar a chave do AWS KMS com um role do AWS IAM de uma conta da AWS diferente em vez do role do IAM que criou a chave do AWS KMS, verifique se você tem privilégios suficientes:

    • Adicione uma declaração de política de chave na chave AWS KMS para permitir o acesso de uma conta AWS externa.

    • Adicione uma política interna do IAM para o role do IAM na conta externa do AWS.

    Para acessar uma discussão abrangente sobre roles do IAM e chaves mestras do cliente, consulte a documentação da AWS.

    Após confirmar os privilégios acima, você pode seguir as etapas usuais para definir as configurações de KMS no Atlas, com a seguinte exceção:

    • Você deve fornecer o ARN completo para a chave AWS KMS (por exemplo, arn:aws:kms:eu-west-2:111122223333:key/12345678-1234-1234-1234-12345678) em vez da ID da chave mestre (por exemplo, 12345678-1234-1234-1234-12345678) no campo ID da chave AWS KMS.

    Para saber como criar uma função de IAM , consulte Funções de IAM na documentação da AWS .

    O Atlas usa a mesma role do IAM e as mesmas configurações de chave do AWS KMS para todos os clusters em um projeto para o qual a criptografia em repouso está habilitada.

  • Se sua configuração do AWS KMS exigir, permita o acesso 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. Você deve incluir os endereços IP na política de role gerenciado do IAM configurando operadores de condição de endereço IP em seu documento de política. Se os endereços IP do nó mudarem, você deverá atualizar sua configuração para evitar interrupções de conectividade.

Importante

Se você alternar suas chaves de encriptação para acesso baseado em role, não poderá desfazer a configuração de acesso baseado em role e reverter para acesso baseado em credenciais para chaves de encriptação nesse projeto.

Depois de habilitar o acesso baseado em role à sua chave de criptografia para um projeto, você deve habilitar o gerenciamento de chaves 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 estiver exibido, selecione a organização que contém o projeto desejado 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 a página Clusters ainda não estiver exibida, clique em Database na barra lateral.

2

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:

  1. 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"
    ]
    }
    ]
    }
    }
  2. 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.

3

Para o cluster que contém dados que você deseja criptografar, clique nas reticências ... e selecione Edit Configuration.

4
  1. Expanda o painel Additional Settings.

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

5
  1. Clique em Review Changes.

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

Observação

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.

O Atlas não rotaciona automaticamente a CMK do AWS usado para Encryption at rest - fornecida pelo AWS.

Como prática recomendada, o Atlas cria um alert para lembrar você de girar chave mestra do cliente da AWS a cada 90 dias por padrão quando você habilita encryption at rest para um projeto do Atlas. Você pode configurar o período deste alerta.

Você mesmo pode alternar sua CMK do AWS ou configurar sua instância da KMS do AWS para alternar automaticamente sua CMK. Se você configurar a alteração automática da CMK do AWS , o período padrão para alternar é de aproximadamente 365 dias.

Se já configurou uma rotação CMK automática em AWS e não deseja receber o alerta Atlas para rotacionar sua CMK a cada 90 dias, você pode modificar o período de alerta padrão para ser maior que 365 dias ou desabilitar o alerta.

Esta página explica como criar uma nova chave e atualizar o ID da CMK no Atlas para girar seu projeto do Atlas CMK. Esse método de rotação de chaves permite um controle mais granular do período de rotação em comparação com a rotação automática de CMK do AWS KMS .

Importante

Backups em nuvem com Encryption at Rest

Para clusters que usam Encryption at rest e Back up do cluster, o Atlas usa as credenciais de usuário CMK e AWS IAM do projeto no momento do snapshot para criptografar automaticamente os arquivos de dados do snapshot. Essa é uma camada adicional de criptografia sobre a criptografia existente aplicada a todos os volumes de armazenamento e snapshots do Atlas.

O Atlas não criptografa novamente os snapshots com a nova CMK após a rotação. Não exclua a CMK antiga até que você verifique em cada cluster habilitado para backup no projeto se há algum snapshot que ainda esteja usando essa CMK. O Atlas exclui backups de acordo com o agendamento de backup, a retenção e os snapshots on-demand. Depois que o Atlas excluir todos os snapshots que dependem de uma determinada CMK, você poderá excluir essa CMK com segurança.

1
  1. Se ainda não estiver exibido, selecione a organização que contém o projeto desejado 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. Clique em Advanced na barra lateral.

2
3
  1. Insira as seguintes informações:

    Campo
    em ação
    AWS IAM role

    Selecione um role existente do AWS IAM que já tenha acesso às suas chaves KMS ou autorize um novo role e conceda a esse role acesso às suas chaves KMS com as seguintes permissões:

    Para saber mais, consulte Acesso baseado em role à sua chave de criptografia para um projeto.

    Customer Master Key ID
    Insira o ID da chave mestra do cliente da AWS.
    Customer Master Key Region

    Selecione a região AWS na qual você criou sua AWS CMK.

    Observação

    O Atlas lista apenas as regiões da AWS que oferecem suporte ao AWS KMS.

  2. Clique em Save.

O Atlas exibe um banner no console do Atlas durante o processo de rotação da CMK. Não exclua ou desative a CMK até que suas alterações sejam distribuídas.

Durante uma interrupção regional, sua região do AWS KMS pode ficar indisponível. Se você habilitou a Encryption at rest usando o Gerenciamento de chaves do consumidor, poderá realizar operações de criptografia e descriptografia enquanto pelo menos um nó ainda estiver disponível. No entanto, se todos os nós ficarem indisponíveis, você não poderá executar operações criptográficas. Um nó fica indisponível se for reiniciado durante a interrupção.

Para colocar os nós indisponíveis em um estado saudável, você pode reconfigurar sua região atual do AWS KMS para uma região disponível. Para alterar a região do KMS, a chave do AWS KMS deve ser uma chave de várias regiões . Para criar uma chavede várias regiões, consulte a documentação da AWS.

Observação

Não é possível converter uma chave de região única para uma chave multirregional.

Para reconfigurar sua região do AWS KMS, complete as seguintes etapas no Atlas:

1
  1. Se ainda não estiver exibido, selecione a organização que contém o projeto desejado 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. Clique em Advanced na barra lateral.

2
3

Para garantir que o Atlas não criptografe novamente seus dados, verifique se o AWS IAM role e Customer Master Key ID refletem suas credenciais existentes.

4

Selecione outra região da AWS para a qual você configurou sua chave de várias regiões.

5
← Criptografia em repouso usando o gerenciamento de chaves de cliente