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

Gerenciar chaves do consumidor com o Azure Key Vault

Nesta página

  • Habilite Chaves Gerenciadas pelo Consumidor com o Azure Key Vault
  • 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
  • Desativar chaves gerenciadas pelo consumidor para um projeto
  • Revogar Acesso a uma Chave de Encriptação
  • Alertas
  • Gire seu Identificador de Chave Azure
  • Chave mestra MongoDB - Responsabilidade do MongoDB
  • Rotacionar seu ID da chave do Azure – Sua responsabilidade
  • Pré-requisitos
  • Procedimento
  • Alertas
  • Failover do Azure Key Vault durante uma interrupção
  • Tópicos relacionados

Observação

  • Esta funcionalidade não está disponível para clusters gratuitos M0 e clusters M2 e M5. 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 Azure Key Vault (AKV) para criptografar ainda mais seus dados em repouso no Atlas.

O Atlas usa seu Azure Key Vault CMK para criptografar e descriptografar suas chaves mestres MongoDB. Essas chaves mestras do MongoDB 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 Azure com o Azure Key Vault.

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.

Esta página aborda a configuração do gerenciamento de chaves do consumidor usando o AKV em seu projeto Atlas.

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

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 Azure Key Vault 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 Azure Key Vault 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 AKV 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 consumidor com o Azure Key Vault para um projeto MongoDB, você deve:

  • Ter o Tenant ID (ou Directory ID) para um inquilino do Active Directory.

  • Ter o Client ID (ou Application ID) e uma Password não expirada do aplicativo para um Aplicativo Azure associado ao inquilino do Active Directory.

  • Ter o nome do Resource Group de um Azure Resource Group contendo o Key Vault.

  • Tenha um Active Directory Application com a função de Azure key Vault Reader atribuída a ele.

  • Ter o Subscription ID e o Key Vault Name de um Azure Key Vault. Certifique-se de que o grupo de recursos do Key Vault corresponda ao nome do grupo de recursos especificado para o Resource Group.

    O Key Vault deve ter as seguintes políticas de acesso:

    • Operações de Gerenciamento de Chaves

      • GET

    • Operações Criptográficas

      • ENCRYPT

      • DECRYPT

  • Ter o Key Identifier para uma chave no Azure Key Vault especificado.

    O Atlas utiliza estes recursos ao habilitar encryption at rest para um cluster no projeto Atlas. Considere criar um aplicativo Azure, Grupo de Recursos e cofres de chaves especificamente para utilizar com o projeto Atlas.

    Para saber como configurar os componentes Azure referenciados, consulte a Documentação do Azure.

  • Para ajudar os usuários a criar ou alterar facilmente um cluster, você pode permitir o acesso público à chave. Para restringir o escopo da chave e reduzir os riscos, use controles como TLS e autenticação.

  • Para acesso restrito a intervalos de IP definidos, permita o acesso dos endereços IP do Atlas e dos endereços IP públicos dos nós do cluster.

    • Garanta que o Atlas possa se comunicar com seu key vault. Para evitar interrupções de conectividade, atualize sua configuração sempre que os endereços IP do nó alterarem. Por exemplo, talvez seja necessário atualizar suas regras de acesso de entrada.

    • Se você restringir o acesso ao cofre de chaves, criará mais complexidade quando os endereços IP mudarem. Por exemplo, ao criar ou atualizar um cluster, você deve conceder acesso ao Azure Key Vault para quaisquer novos endereços IP. Você deve implementar um processo para remover endereços IP e chaves quando excluir um cluster ou remover nós.

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 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
4
ID do cliente
Insira o Client ID (ou Application ID) do aplicativo do Azure.
ID do Inquilino
Insira o Tenant ID (ou Directory ID) do locatário do Active Directory.
Segredo
Insira um dos Passwords não expirados do aplicativo.
Ambiente Azure
Selecione a nuvem Azure em que seu inquilino do Active Directory se localiza.
5
ID de Inscrição
Insira o Subscription ID do Key Vault.
Nome do Grupo de Recursos
Insira o Resource Group do Key Vault.
Nome do Key Vault
Insira o nome do Key Vault.
6
Identificador de chave

Insira a URL completa da chave criada no Key Vault.

Importante

O identificador de chave deve ser fornecido no formato geral do Azure

https://{keyvault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
7

O Atlas exibe um banner no console do Atlas durante o processo de criptografia.

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

Você deve desabilitar o gerenciamento de chave do consumidor em cada cluster em um projeto antes de poder desabilitar o recurso para o projeto.

Importante

Não desative ou exclua nenhuma chave AKV usada por qualquer cluster em seu projeto do Atlas antes de desativar o gerenciamento de chaves do consumidor no projeto do Atlas. Se o Atlas não puder acessar uma chave AKV, todos os dados criptografados por essa chave ficarão inacessíveis.

Você pode revogar o acesso do Atlas a uma chave de criptografia no AKV. O Atlas pausa automaticamente seus clusters quando você revoga o acesso à chave de criptografia, a menos que sua lista de acesso IP do AKV restrinja o plano de controle do Atlas.

Para permitir a pausa automática do cluster, você deve:

Observação

O MongoDB adiciona novos endereços IP do plano de controle do Atlas ao longo do tempo. Você deve manter a lista de acesso IP atualizada para permitir a pausa automática do cluster ao usar uma lista de acesso IP para seu AKV.

Se a Lista de acesso IP do AKV restringir o acesso do plano de controle do Atlas quando você revogar o acesso a uma chave de encriptação, você deverá pausar os clusters manualmente para revogar o acesso do Atlas.

O Atlas cria automaticamente um encryption key rotation alert quando você configura o gerenciamento de chaves do cliente para um projeto.

Para redefinir este alerta, Gire seu Identificador de Chave Azure.

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 gira automaticamente o Identificador de Chave usado para o Azure Key Vault.

Por padrão, o Atlas cria automaticamente um encryption key rotation alert para lembrá-lo de alternar seu Identificador de Chave Azure a cada 90 dias quando você ativa a Criptografia em Repouso para um projeto do Atlas.

Você pode girar CMK armazenado no Azure Key Vault ou configure seu Azure Key Vault para girar automaticamente suas chaves. Se você configurar a rotação automática no Azure Key Vault, o período de tempo padrão para rotação é de aproximadamente 365 dias.

Se você já configurou uma rotação automática no Azure Key Vault e não deseja receber o alerta do Atlas para rotacionar seu Identificador de Chave Azure 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 no Azure Key Vault associado ao projeto Atlas.

O procedimento seguinte documenta como girar seu Identificador de Chave do Projeto Atlas especificando um novo identificador de chave 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
  1. Clique em Azure Key Vault se o seletor Azure Key Vault ainda não estiver ativo.

  2. Clique em Encryption Key se o seletor Encryption Key ainda não estiver ativo.

  3. Insira o Identificador de Chave Azure no campo Key Identifier.

    Inclua a URL completa no novo identificador de chave de criptografia. Por exemplo:

    https://mykeyvault.vault.azure.net/keys/AtlasKMSKey/a241124e3d364e9eb99fbd3e11124b23

    Importante

    A chave de criptografia deve pertencer ao Key Vault configurado para o projeto. Clique na seção Key Vault para exibir o Cofre de Chave configurado atualmente para o projeto.

  4. Clique em Update Credentials.

O Atlas exibe um banner na UI do Atlas durante o processo de rotação do Identificador de Chave. Não exclua ou desative o identificador de chave original até que suas alterações sejam implementadas.

Se o cluster usar Backup Up Your Cluster, não exclua nem desative o identificador de chave original até validar que nenhum snapshot usou essa chave para criptografia.

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

Durante uma interrupção regional, sua região Azure KMS pode ficar indisponível. Se isso acontecer, o Azure roteia automaticamente as solicitações KMS de entrada para uma região secundária pré-atribuída. Para saber mais, consulte Azure Key Vault Failover e Pares regionais.

Se as duas regiões estiverem inativas, você poderá migrar manualmente sua chave para uma região fora do emparelhamento regional. Para saber mais, consulte Mover um Key Vault entre Regiões.

Observação

Se você habilitou a opção Criptografia em Repouso usando o Gerenciamento de Chaves do Consumidor, poderá executar operações de criptografia e descriptografia, enquanto pelo menos um nó ainda está disponível durante a interrupção.

← Gerenciar chaves de cliente com AWS KMS