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

Gerenciar chaves do consumidor com o Azure Key Vault

Nesta página

  • Sobre chaves gerenciadas pelo cliente com o Azure Key Vault
  • Exemplo
  • O que você precisa saber
  • Sobre girar seu identificador de chave Azure
  • Sobre o failover do Azure Key Vault durante uma interrupção
  • Acesso necessário
  • Próximos passos

Observação

Este recurso não está disponível para nenhuma das seguintes implantações:

  • Instâncias sem servidor

  • M0 clusters

  • M2/M5 clusters

  • Clusters flexíveis

Para saber mais,consulte Limites.

Você pode usar uma chave gerenciada pelo cliente (CMK) do Azure Key Vault (AKV) para criptografar ainda mais seus dados em repouso no Atlas. Você também pode configurar todo o tráfego para o seu AKV para usar o Azure Private Link.

O Atlas usa sua CMK do Azure Key Vault para criptografar e descriptografar suas chaves mestras do MongoDB . Essas chaves mestras do MongoDB são usadas para criptografar arquivos de banco de dados de dados de cluster e snapshots de provedores de nuvem. Para saber mais sobre como o Atlas usa CMKs para criptografia, consulte Sobre chaves gerenciadas pelo Azure Key Vault.

Quando você usa seu próprio provedor de nuvem KMS, o Atlas gira automaticamente as chaves mestras do MongoDB pelo menos a cada 90 dias. A rotação de suas chaves começará durante uma período de manutenção , se houver uma configurada. Adiar a manutenção (manual ou automaticamente) pode fazer com que a chave seja girada 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.

Importante

O Azure limita a vida útil do segredo do cliente para CMKs a dois anos. O Atlas não pode acessar uma CMK depois que o segredo do cliente expira. Portanto, gire os segredos do cliente antes da expiração para evitar a perda de disponibilidade do cluster.

Esta página abrange a configuração do gerenciamento de chave do cliente utilizando AKV no seu projeto Atlas . Você também pode usar a API de administração do Atlas para configurar automaticamente o Azure Private Link em seu AKV para garantir que todo o tráfego entre o Atlas e o AKV ocorra nas interfaces de rede privada do Azure .

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)

Chaves gerenciadas pelo cliente são chaves de criptografia que você cria, possui e gerencia no Azure Key Vault. Você cria a chave mestra do cliente no Azure Key Vault e a conecta ao Atlas no nível de projeto. Para saber mais sobre as chave mestra do clientes 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 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 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 fornece isso 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 AKV e Atlas
clique para ampliar

Depois de configurar o Atlas para usar sua AKV CMK, saiba mais sobre como girar o identificador de chave do Azure e sobre o failover do Azure Key Vault durante uma interrupção.

Observação

Este recurso não está disponível para nenhuma das seguintes implantações:

  • Instâncias sem servidor

  • M0 clusters

  • M2/M5 clusters

  • Clusters flexíveis

Para saber mais,consulte Limites.

Quando você usa seu próprio provedor de nuvem KMS, o Atlas gira automaticamente as chaves mestras do MongoDB pelo menos a cada 90 dias. A rotação de suas chaves começará durante uma período de manutenção , se houver uma configurada. Adiar a manutenção (manual ou automaticamente) pode fazer com que a chave seja girada 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.

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.

Durante uma interrupção regional, sua região do AKV pode ficar indisponível. Se isso acontecer, o Azure roteia automaticamente as solicitações do Key Vault 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 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 durante a interrupção. O Atlas não desligará seus clusters.

Para determinadas regiões, o Azure não suporta failover automático. Para saber mais, consulte a documentação do Azure.

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.

Você deve conceder ao Atlas acesso ao seu AKV usando Permission Model um. Você pode conceder acesso usando uma Política de Acesso ao Key Vault ou o Azure RBAC.

Se você usar as políticas de acesso, faça o seguinte na UI do Azure para conceder ao Atlas acesso ao seu AKV.

  1. Nas configurações do Access Control (IAM), conceda a permissão do Microsoft.KeyVault/vaults/read para seu aplicação.

  2. Na página Access Policies, crie uma política de acesso com o seguinte Key Permissions:

    Conceda esta permissão...
    Para...

    obter

    Leia os metadados sobre a chave armazenada no seu AKV.

    Criptografar

    Use as chaves em seu AKV para criptografar dados.

    Descriptografar

    Use as chaves em seu AKV para descriptografar dados que foram criptografados anteriormente com essas chaves.

  3. Adicione o mesmo aplicativo que o principal e configure a política de acesso.

Se o seu AKV usar RBAC, você deverá fazer o seguinte nas configurações da interface do usuário do Azure Access Control (IAM) para conceder ao Atlas acesso ao seu AKV.

  1. Conceda as seguintes permissões actions ao aplicação.

    Conceda esta permissão...
    Para...

    Microsoft.KeyVault/vaults/read

    Ler as propriedades de um Key Vault

    Microsoft.KeyVault/vaults/keys/read

    Leia os metadados sobre a chave armazenada no seu AKV.

    {
    "permissions": [
    {
    "actions": [
    "Microsoft.KeyVault/vaults/read"
    "Microsoft.KeyVault/vaults/keys/read"
    ]
    }
    ...
    ]
    }
  2. Conceda as seguintes permissões dataActions ao aplicação.

    Conceda esta permissão...
    Para...

    Microsoft.KeyVault/vaults/keys/read

    Leia os metadados sobre a chave armazenada no seu AKV.

    Microsoft.KeyVault/vaults/keys/encrypt/action

    Use as chaves em seu AKV para criptografar dados.

    Microsoft.KeyVault/vaults/keys/decrypt/action

    Use as chaves em seu AKV para descriptografar dados criptografados anteriormente com essas chaves.

    {
    "permissions": [
    ...
    {
    "dataActions": [
    "Microsoft.KeyVault/vaults/keys/read",
    "Microsoft.KeyVault/vaults/keys/encrypt/action",
    "Microsoft.KeyVault/vaults/keys/decrypt/action"
    ]
    }
    ]
    }

Você pode usar uma chave gerenciada pelo cliente (CMK) do Azure Key Vault (AKV) em uma rede pública ou em Endpoints Privados do Azure . Para saber mais, consulte o seguinte:

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.

Voltar

AWS KMS