Criptografia em repouso usando o gerenciamento de chaves de cliente
Nesta página
- Acesso necessário
- Configurar o Atlas com gerenciamento de chaves do cliente
- Permitir acesso a partir do plano de controle do Atlas
- Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
- Adicionar nós a um Atlas Cluster criptografado
- Validar sua configuração KMS
- Restaurar uma chave excluída
- Backups criptografados
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âncias sem servidor.
O Atlas criptografa em repouso por padrão todo o armazenamento em cluster e todos os volumes de snapshots. É possível adicionar outra camada de segurança usando oKMS do seu provedor de nuvem junto com o encrypted storage engine do MongoDB.
Configurar Encryption at rest usando seu gerenciamento de chaves incorre em cobranças adicionais para o projeto Atlas. Para saber mais, consulte Segurança avançada.
Você pode usar um ou mais dos seguintes fornecedores de gerenciamento de chaves do cliente ao configurar o Encryption at Rest para o projeto Atlas:
Após configurar pelo menos um provedor de gerenciamento de chave para o projeto Atlas, você pode habilitar o gerenciamento de chave do cliente para cada agrupamento Atlas para o qual eles exigem criptografia. O fornecedor de gerenciamento de chaves não precisa corresponder ao fornecedor de serviços de nuvem do cluster.
Observação
Quando você habilita ou desabilita o gerenciamento de chaves do cliente, o Atlas executa uma sincronização inicial para criptografar novamente os dados do cluster.
Alternativamente, para projetos com clusters M10
ou superiores do Atlas implantados apenas nas regiões do Azure, você pode usar a Administration API do Atlas para criar automaticamente o Azure Private Link no seu AKV que permite que o Atlas se comunique com segurança com seu AKV pelas interfaces de rede privada Azure. Para saber mais, consulte Gerenciar chaves do cliente com o Azure Key Vault.
O Atlas não pode girar chaves de encriptação gerenciadas pelo cliente. Consulte a documentação do seu provedor de gerenciamento de chaves para obter orientações sobre rotação de chaves. Quando você define o gerenciamento de chave de cliente em um projeto, o Atlas cria um alerta de rotação de chave de 90 dias.
Se o fornecedor de KMS ficar indisponível, isso não desabilitará o cluster enquanto ele ainda estiver em execução. Se você decidir reiniciar o cluster, a falta de um fornecedor de KMS desabilitará o cluster.
Acesso necessário
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
.
Configurar o Atlas com gerenciamento de chaves do cliente
A Encryption at Rest usando o Key Management requer credenciais válidas do provedor de gerenciamento de chaves e uma chave de criptografia. Para fornecer esses detalhes e ativar o gerenciamento de chaves do cliente:
No Atlas, VáGo para a Advanced página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Advanced sob o título Security.
A página Avançado é exibida.
Permitir acesso de ou para o plano de controle do Atlas.
Para saber mais, consulte Permitir acesso do plano de controle do Atlas.
Permitir acesso a partir do plano de controle do Atlas
Opcional.
Dependendo da configuração do Key Management Service, talvez seja necessário adicionar endereços IP do plano de controle do Atlas para habilitar a criptografia em descanso do seu projeto, de modo que o Atlas possa se comunicar com o KMS.
Para habilitar a comunicação entre Atlas e KMS:
Envie uma solicitação GET para o ponto de extremidade returnAllControlPlaneIpAddresses
.
O endpoint da API retorna uma lista de endereços IP de entrada e saída do plano de controle do Atlas em CIDR categorizados por provedor de nuvem e região. Para saber mais, consulte os pré-requisitos para gerenciar chaves de cliente com AWS, Azure e GCP.
Habilitar o gerenciamento de chaves do cliente para um Atlas cluster
Depois de configurar o Atlas com o gerenciamento de chaves do cliente, você deve habilitar o gerenciamento de chaves do cliente para cada cluster do Atlas que contenha 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:
Opcional: adicione endereços IP a partir dos novos nós de cluster.
Dependendo da configuração do Gerenciamento de Chaves, talvez seja necessário adicionar endereços IP do nó do Atlas Cluster à lista de acesso 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:
Envie uma solicitação GET para o ponto de extremidade
ipAddresses
. O ponto de extremidade da API retorna uma lista de endereços IP dos novos nós de cluster, semelhante à seguinte:{ "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" ] } ] } } Adicione os endereços IP retornados à lista de acesso IP do seu provedor de nuvem. Você deve modificar sua lista de acesso IP antes que o plano de provisionamento seja revertido. O cluster tenta o provisionamento por até três dias antes que o plano de provisionamento seja revertido devido a restrições de acesso ao IP.
Consulte os pré-requisitos para gerenciar chaves de cliente com AWS, Azure e GCP para obter mais informações.
Observação
Se precisar de mais tempo para atualizar a lista de acesso IP, você pode:
Provisionar o cluster sem Encryption at rest e habilite-o depois de atualizar a lista de acesso IP.
Configure uma lista de acesso IP mais inclusiva no Serviço de Gerenciamento de Chaves do seu fornecedor de nuvem, inicie o cluster com Criptografia em Repouso e modifique a lista de acesso IP.
Para clusters existentes:
No Atlas, váGo para a Clusters página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Clusters na barra lateral.
A página Clusters é exibida.
Habilitar criptografia de cluster.
Expanda o painel Additional Settings.
Alterne a configuração Manage your own encryption keys para Yes.
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.
Adicionar nós a um Atlas Cluster criptografado
Adicionar nós ou shards ao seu cluster de conjunto de réplicas ou cluster fragmentado.
Você pode adicionar nós elegíveis a clusters M10+ ou aumentar o número de shards em seu cluster fragmentado.
Opcional: adicione endereços IP a partir dos novos nós de cluster ou shards.
Dependendo da configuração do Gerenciamento de Chaves, talvez seja necessário adicionar endereços IP do nó do Atlas Cluster à lista de acesso 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:
Envie uma solicitação GET para o ponto de extremidade
ipAddresses
. O ponto de extremidade da API retorna uma lista de endereços IP dos novos nós ou fragmentos de cluster, semelhante à seguinte:{ "groupId": "xxx", // ObjectId "services": { "clusters": [ { "clusterName": "Cluster0", "inbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ], // List<String> "outbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ] } ] } } Adicione os endereços IP retornados à lista de acesso IP do seu provedor de nuvem. Você deve modificar sua lista de acesso IP antes que o plano de provisionamento seja revertido. O cluster tenta o provisionamento por até três dias antes que o plano de provisionamento seja revertido devido a restrições de acesso ao IP.
Consulte os pré-requisitos para gerenciar chaves de cliente com AWS, Azure e GCP para obter mais informações.
Validar sua configuração KMS
O Atlas valida sua configuração do KMS:
Quando adiciona ou atualiza credenciais.
A cada 15 minutos.
Sob demanda com o ponto de extremidade da Encryption at Rest API.
O Atlas encerra todos os processos mongod
e mongos
na próxima verificação de validade agendada se uma das seguintes condições existir:
suas credenciais do provedor de gerenciamento de chaves tornam-se inválidas
alguém exclui ou desabilita sua chave de encriptação
Se o Atlas não conseguir conectar ao seu fornecedor de gerenciamento de chaves, o Atlas não desliga os seus processos. O alerta Encryption at Rest KMS network access denied
é habilitado por padrão em todos os novos projetos para comunicar qualquer falha de acesso à rede KMS. Você pode definir suas configurações de alerta.
Se o Atlas desligar os seus clusters, ocorrerão os seguintes eventos:
O Atlas envia um e-mail para o
Project Owner
listando todos os clusters afetados.A página Clusters mostra que o Atlas desativou seus clusters devido a configurações inválidas de Encryption at rest.
Não é possível ler ou gravar dados em clusters desabilitados. Você pode enviar atualizações para clusters desativados, como alterações no tamanho do disco e da instância. O Atlas processa essas alterações quando alguém restaura sua chave de encriptação. A Atlas continua realizando manutenção e aplicando patches de segurança. Os clusters desativados retêm todos os seus dados, portanto a cobrança continua.
Observação
Energia da Virtual Machine
Enquanto um cluster está desabilitado, o Atlas não interrompe a Máquina Virtual (VM) em que o cluster está sendo executado. O Atlas pode executar patches que reinicializam o servidor, mas a energia da VM não é reiniciada.
Para recuperar o acesso aos seus dados:
Atualize suas credenciais se elas tiverem sido alteradas desde a configuração do Atlas com o Gerenciamento de Chaves do Cliente.
Restaure sua chave se ela tiver sido desabilitada ou excluída.
Após atualizar a configuração, clique em Try Again para validá-la. Caso contrário, o Atlas validará na próxima verificação agendada. Todos os processos do mongod
e mongos
reiniciam após o Atlas determinar se a configuração é válida.
Aviso
Se sua chave foi excluída, restaure essa chave para recuperar o acesso aos seus clusters. Você não pode alterar uma chave ou desativar a criptografia em repouso usando o Customer Key Management sem uma chave válida.
Restaurar uma chave excluída
Para restaurar uma chave excluída, consulte a documentação do seu fornecedor de gerenciamento de chaves:
AWS KMS: Excluir as chaves mestras do cliente
Azure Key Vault Recuperar chave excluída
Backups criptografados
Atlas criptografa todos os volumes de snapshots. Isso protege os dados do cluster no disco. Usando o KMS do seu provedor de nuvem, você pode:
Criptografar seus volumes de armazenamento de snapshots onde você armazena seus backups.
Criptografe os arquivos de dados em snapshots
Acessar snapshots criptografados. Para saber mais, consulte Acessar um snapshot criptografado.
Restaure os snapshots com a chave que estava ativa no momento em que o snapshots foi tirado.
Criptografe os dados de restauração de PIT oplog.
Não é possível restaurar snapshots criptografados com chaves que se tornaram inválidas.
Você pode especificar uma programação básica de snapshot que faça backup a cada 6 horas.
Observação
Você pode baixar snapshots criptografados da mesma forma que snapshots não criptografados. Recomendamos usar o acesso baseado em role à sua chave de criptografia para o projeto como uma prática de segurança recomendada.
Para saber como baixar snapshots,consulte Restaurar a partir de um snapshot baixado localmente.
Para saber mais sobre o gerenciamento de chaves do cliente e backups na nuvem, consulte: