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

Gerencie Chaves de Consumidor com o Azure Key Vault em Endpoints Privados

Nesta página

  • Considerações
  • Caso de uso
  • Benefícios
  • Limitações
  • Pré-requisitos
  • Procedimentos
  • Habilitar chaves gerenciadas pelo cliente para um projeto
  • Habilitar e configurar conexões de endpoint privado para um projeto
  • Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
  • Desativar chaves gerenciadas pelo consumidor para um projeto
  • Rejeitar ou remover conexão de endpoint privado
  • Desativar conexões de endpoint privado para um projeto
  • Revogar Acesso a uma Chave de Encriptação
  • Gire seu Identificador de Chave Azure
  • Tópicos relacionados

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.

Esta página descreve como 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.

Antes de ativar a encryption at rest usando o AKV em endpoints privados, revise os seguintes casos de uso, benefícios, limitações e pré-requisitos.

Suponha que seu sistema do Atlas esteja em um único provedor de serviços de nuvem. Agora você tem um requisito de que todo o acesso ao seu AKV ocorra sobre a infraestrutura de rede privada do seu provedor de nuvem. Esta página orienta você pelas etapas para habilitar conexões de endpoint privadas para seu projeto Atlas .

Você pode usar a API de administração do Atlas para permitir que o Atlas configure a criptografia em repouso com o AKV usando endpoints privados. Isso permite que todo o tráfego para o AKV passe por um conjunto de endpoints privados e evite expor o AKV à Internet pública ou a endereços IP públicos. Ele elimina a necessidade de manter endereços IP permitidos e, ao mesmo tempo, melhora a segurança dos dados ao manter todo o tráfego do AKV dentro da rede privada do Azure.

O Atlas não oferece suporte à criptografia em repouso usando CMK em endpoints privados para multinuvem . Se você habilitar a criptografia em descanso usando CMK sobre o Azure Private Link em um projeto existente com clusters de multinuvem , o Atlas desabilitará os clusters de multinuvem em seu projeto.

O Atlas não permite Encryption at Rest usando CMK em Endpoints Privados para projetos no estado INACTIVE .

O Atlas não oferece suporte ao acesso AKV por redes privadas para clusters da Amazon Web Services ou da Google Cloud Platform .

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

  • Use um cluster M10 ou superior.

  • Tenha as credenciais da conta Azure e do Key Vault, e o identificador de chave para a chave de criptografia em seu AKV.

    • Para a conta, você deve ter o ID do cliente , o ID do locatário e o segredo.

    • Para o Key Vault, você deve ter a ID da assinatura , o nome do grupo de recursos e o nome do Key Vault.

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

    O Atlas utiliza estes recursos ao habilitar encryption at rest para um cluster no projeto Atlas.

  • Se o seu App registrations utilizar políticas de acesso condicional, você deverá permitir solicitações de endereços IP do Plano de Controle do Atlas . Você não precisa habilitar o acesso público ao cofre de chaves.

Observação

Você deve registrar Microsoft.Network em seus fornecedores de recursos de assinatura do Azure . Para saber mais, consulte a documentação do Azure.

Você deve habilitar a CMK para um projeto antes de habilitá-la em um cluster nesse projeto. Você pode habilitar CMK para um projeto a partir da UI do Atlas e da API de Administração do 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
4

ID do cliente

Insira o Client ID (ou Application ID) do aplicação do Azure. O Active Directory Application deve ter a função de Azure key Vault Reader atribuída a ele.

ID do Inquilino

Insira o Tenant ID (ou Directory ID) do locatário do Active Directory.

Segredo

Insira um dos segredos de cliente não expirados do aplicativo associados ao locatário do Active Directory.

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 nome Resource Group de um Azure Resource Group contendo o Key Vault.

Nome do Key Vault

Insira o nome do Key Vault. O grupo de recursos do Key Vault deve corresponder ao Resource Group e o Key Vault deve ter as seguintes políticas de acesso:

  • Operações de Gerenciamento de Chaves

  • GET

  • Operações Criptográficas:

    • ENCRYPT

    • DECRYPT

Observação

Você não pode modificar as credenciais do AKV aqui depois de habilitar e configurar conexões de endpoints privados para o AKV.

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

Para saber mais, consulte Habilitar e configurar conexões de endpoint privado para um projeto

8

Se você configurou o Atlas utilizando a API de Administração do Atlas para se comunicar com AKV utilizando o Azure Private Link para garantir que todo o tráfego entre o Atlas e o Key Vault ocorra através das interfaces de rede privada do Azure, o Atlas definirá o status do Require Private Networking como Active. Se o status for Inactive, você poderá, opcionalmente, concluir as etapas para Habilitar e configurar conexões de endpoint privado para um projeto se quiser que o Atlas use conexões de endpoint privado para seu AKV.

Observação

O recurso Encryption at rest usando AKV sobre Private Endpoints está disponível por solicitação. Para solicitar essa funcionalidade para seus Atlas , entre em contato com o gerente de conta.

9

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

1

Exemplo

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
--header "Content-Type: application/vnd.atlas.2024-05-30+json" \
--request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/66c9e8f1dd6c9960802420e9/encryptionAtRest" \
--data '
{
"azureKeyVault": {
"azureEnvironment": "AZURE",
"clientID": "b054a9ff-b60a-4cb6-8df6-20726eaefce6",
"enabled": true,
"keyIdentifier": "https://test-tf-export.vault.azure.net/keys/test/78b9134f9bc94fda8027a32b4715bf3f",
"keyVaultName": "test-tf-export",
"resourceGroupName": "test-tf-export",
"secret": "",
"subscriptionID": "009774e0-124f-4a69-83e0-ca8cd8acb4e2",
"tenantID": "1f6ef922-9303-402a-bae2-cc68810b023c"
}
}'

Observação

Você não pode modificar as seguintes configurações depois de habilitar e configurar conexões de endpoint privadas para o seu AKV:

  • keyVaultName

  • resourceGroupName

  • subscriptionID

2

Para verificar sua solicitação para habilitar e configurar a criptografia em descanso usando as chaves que você gerencia usando o AKV, envie uma solicitação GET para o endpoint encryptionAtRest .

Exemplo

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
--header "Content-Type: application/vnd.atlas.2024-05-30+json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest"
{
"azureKeyVault": {
"azureEnvironment": "AZURE",
"clientID": "632ff709-32a8-48a3-8224-30d2386fadaf",
"enabled": true,
"keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86",
"keyVaultName": "string",
"requirePrivateNetworking": false,
"resourceGroupName": "string",
"subscriptionID": "a39012fb-d604-4cd1-8841-77f705f3e6d5",
"tenantID": "ee46317d-36a3-4472-a3dd-6549e901da0b",
"valid": true
}
}

Na resposta, enabled é true se o seu projeto foi habilitado com sucesso para Encryption at Rest usando CMK. Você pode configurar redes privadas para garantir que todo o tráfego entre o Atlas e o Key Vault ocorra nas interfaces de rede privadas do Azure. Para saber mais, consulte Habilitar e configurar conexões de endpoint privadas para um projeto.

Você pode habilitar e configurar endpoints privados somente usando a API de administração do Atlas . Para habilitar redes privadas e configurar um endpoint privado em seu AKV, você deve fazer o seguinte:

1

Envie uma solicitação PATCH para o endpoint e defina o valor do sinalizador requirePrivateNetworking como true.

Exemplo

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/vnd.atlas.2023-01-01+json" \
--include \
--request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest/" \
--data '
{
"azureKeyVault": {
"azureEnvironment": "AZURE",
"clientID": "632ff709-32a8-48a3-8224-30d2386fadaf",
"enabled": true,
"keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86",
"keyVaultName": "string",
"requirePrivateNetworking": true,
"resourceGroupName": "string",
"secret": "string",
"subscriptionID": "a39012fb-d604-4cd1-8841-77f705f3e6d5",
"tenantID": "ee46317d-36a3-4472-a3dd-6549e901da0b"
}
}'
2

Use a API de administração do Atlas para criar um endpoint privado para se comunicar com seu AKV.

Envie uma solicitação do POST para o endpoint com a região do Azure na qual você deseja que o Atlas crie o endpoint privado. Você deve enviar uma solicitação separada para cada região na qual deseja que o Atlas crie um endpoint privado.

Exemplo

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/vnd.atlas.2023-01-01+json" \
--include \
--request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest/AZURE/privateEndpoints" \
--data '
{
"regionName": "US_CENTRAL"
}'

Depois de aprovar o endpoint privado, as seguintes restrições se aplicam:

  • O Atlas cria todos os novos clusters somente nas regiões com endpoints privados aprovados.

  • O Atlas distribui nós adicionais para clusters existentes apenas nas regiões com endpoints privados aprovados.

3

Você pode usar a UI do Azure , CLI, ou Terraform para aprovar as conexões de endpoint privado.

Depois da aprovação, o Atlas migra automaticamente todos os clusters para os quais você habilitou chaves gerenciadas pelo cliente, incluindo os clusters existentes que permitem conexões usando a Internet pública, para usar apenas a conexão de endpoints privados. Opcionalmente, você pode desativar o acesso público à Internet ao seu AKV depois de migrar seus clusters para usar a conexão de endpoint privado. Todos os novos clusters do Atlas no Azure usarão, por padrão, apenas a conexão de endpoint privada ativa.

4

Para verificar o status do endpoint privado, envie uma solicitação de GET para o endpoint encryptionAtRest .

Exemplo

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/vnd.atlas.2023-01-01+json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest/AZURE/privateEndpoints"
{
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"results": [
{
"cloudProvider": "AZURE",
"errorMessage": "string",
"id": "24-hexadecimal-digit-string",
"regionName": "string",
"status": "INITIATING",
"privateEndpointConnectionName": "string"
}
],
"totalCount": 0
}

Depois de aprovar o endpoint privado, pode levar até três minutos para o Atlas refletir o status atual do seu endpoint privado. O endpoint privado pode ter um dos seguintes status:

INICIANDO

Indica que o Atlas está no processo de criação do endpoint privado.

PENDING_ACEPTance

Indica que o endpoint privado ainda não foi aprovado. Você deve aceitar o endpoint privado para permitir que o Atlas o utilize.

Ativo

Indica que o endpoint privado está aprovado e o Atlas pode ou está usando-o.

PENDING_RECREATION

Indica que o endpoint privado foi rejeitado ou removido e o Atlas está no processo de criação de um novo endpoint privado na mesma região.

Falhou

Indica que a criação do endpoint privado falhou.

Excluindo

Indica que o Atlas está em processo de exclusão do endpoint privado.

Depois de ativar a criptografia em repouso usando CMK (Over Private Networking) para seu projeto, você poderá ativar a encryption at rest usando CMK para cada cluster do Atlas em seu projeto.

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. Se você configurou conexões de endpoint privadas para seu projeto do Atlas , o Atlas migrará automaticamente todos os clusters para os quais você já habilitou chaves gerenciadas pelo cliente, incluindo clusters existentes que permitem conexões utilizando a Internet pública, para utilizar somente a conexão do endpoint privado.

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, se ainda não estiver habilitado, 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.

Para desabilitar a CMK para um projeto, você deve primeiro remover todos os endpoints privados associados ao projeto, independentemente de seu estado. O Atlas exibe um erro se você tentar desabilitar a CMK para um projeto associado a endpoints privados ativos.

Após remover todos os endpoints privados de um projeto, você deve desabilitar o gerenciamento de chaves do cliente em cada cluster do projeto antes de desabilitar o recurso para o projeto.

Aviso

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

Para remover um endpoint privado, envie uma DELETE solicitação de para o endpoint da API de administração do Atlas e especifique a ID do projeto e do endpoint privado que você deseja excluir. Você pode recuperar o ID do endpoint privado que deseja excluir enviando uma GET solicitação de para o Serviço de retorno de um endpoint privado da API do Atlas para um endpoint do fornecedor.

Exemplo

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2024-10-23+json" \\ or a different version of the Atlas Admin API
--header "Content-Type: application/json" \
--include \
--request DELETE "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest/AZURE/privateEndpoints/{endpointId}" \
--data '
{
"cloudProvider": "AZURE",
"regions": [
"string"
]
}'

Quando você exclui um endpoint privado usando a API de administração do Atlas , o endpoint privado transita para o status DELETING enquanto o Atlas exclui o endpoint privado.

Se você remover ou rejeitar um endpoint privado ativo da interface do usuário do Azure , o Atlas tentará recriar automaticamente um novo endpoint privado na mesma região. Você pode verificar o status do endpoint privado enviando uma solicitação de GET para a API de administração do Atlas encryptionAtRest obter todos os endpoints ou obter um endpoint, para o qual você deve especificar o ID do endpoint privado no caminho.

Exemplo

Retornar todos os endpoints privados de um projeto

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/vnd.atlas.2024-10-23+json" \\ or a different version of the Atlas Admin API
--header "Content-Type: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest/AZURE/privateEndpoints/"

Enquanto o Atlas tenta criar um novo endpoint privado, o status do endpoint privado que você rejeitou ou removeu transições para PENDING_RECREATION e o novo endpoint que o Atlas tenta criar está no estado INITIATING . Você deve aprovar o novo endpoint privado após ele ser criado.

Para desativar as conexões de endpoint privado para um projeto, você deve primeiro remover todos os endpoints privados associados ao projeto, independentemente do estado. O Atlas não desabilita as conexões de endpoint privado para um projeto se o projeto estiver associado a endpoints privados ativos.

Após remover todos os endpoints privados de um projeto, você pode desabilitar as conexões de endpoints privados do projeto usando a API de administração do Atlas . Para desabilitar uma conexão de endpoint privado, envie uma solicitação de PATCH para o endpoint com o valor do sinalizador booleano requirePrivateNetworking definido como false.

Exemplo

{
"azureKeyVault": {
"azureEnvironment": "AZURE",
"clientID": "632ff709-32a8-48a3-8224-30d2386fadaf",
"enabled": true,
"keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86",
"keyVaultName": "string",
"requirePrivateNetworking": false,
"resourceGroupName": "string",
"secret": "string",
"subscriptionID": "a39012fb-d604-4cd1-8841-77f705f3e6d5",
"tenantID": "ee46317d-36a3-4472-a3dd-6549e901da0b"
}
}

Você pode revogar o acesso do Atlas a uma chave de criptografia de dentro do AKV para congelar seus dados. O Atlas pausa automaticamente seus clusters quando você revoga o acesso à chave de criptografia.

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.

Antes de começar, saiba mais sobre como girar seu identificador de chave Azure.

Você deve criar uma nova chave no AKV associado ao seu projeto Atlas . O procedimento a seguir documenta como girar o Identificador de Chave do projeto Atlas especificando um novo identificador 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 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 Fazer Backup do Cluster, não exclua ou desabilite o Identificador de chave original até validar que nenhum snapshot usou essa chave para criptografia.

Voltar

Configurar acesso pela rede pública