Criptografia de dados no Azure DocumentDB

Todos os dados geridos por um Azure DocumentDB estão sempre encriptados em repouso. Esses dados incluem todos os bancos de dados do sistema e do usuário, arquivos temporários, logs e backups.

Criptografia em repouso com chave gerenciada por serviço (SMK) ou chave gerenciada pelo cliente (CMK)

O Azure DocumentDB suporta dois modos de encriptação de dados em repouso: chaves geridas por serviços (SMK) e chaves geridas pelo cliente (CMK). A encriptação de dados com chaves geridas por serviço é o modo predefinido para o Azure DocumentDB. Nesse modo, o serviço gerencia automaticamente as chaves de criptografia usadas para criptografar seus dados. Você não precisa executar nenhuma ação para habilitar ou gerenciar a criptografia nesse modo.

No modo de chaves gerenciadas pelo cliente , você pode trazer sua própria chave de criptografia para criptografar seus dados. Quando você especifica uma chave gerenciada pelo cliente, essa chave é usada para proteger e controlar o acesso à chave que criptografa seus dados. As chaves gerenciadas pelo cliente oferecem maior flexibilidade para gerenciar controles de acesso. Deve implementar o seu próprio Azure Key Vault e configurá-lo para armazenar as chaves de encriptação usadas pelo seu cluster Azure DocumentDB.

O modo de configuração só pode ser selecionado no momento da criação do cluster. Ele não pode ser alterado de um modo para outro durante o tempo de vida do cluster.

Para conseguir a encriptação dos seus dados, o Azure DocumentDB utiliza encriptação do lado do servidor do Azure Storage para os dados em repouso. Ao usar a CMK, você é responsável por fornecer chaves para criptografar e descriptografar dados nos serviços de Armazenamento do Azure. Essas chaves devem ser armazenadas no Cofre de Chaves do Azure.

Benefícios fornecidos por cada modo (SMK ou CMK)

A encriptação de dados com chaves geridas por serviços para o Azure DocumentDB oferece os seguintes benefícios:

  • O serviço controla automática e totalmente o acesso aos dados.
  • O serviço controla automática e totalmente o ciclo de vida da sua chave, incluindo a rotação da mesma.
  • Você não precisa se preocupar com o gerenciamento de chaves de criptografia de dados.
  • A criptografia de dados baseada em chaves gerenciadas por serviço não afeta negativamente o desempenho de suas cargas de trabalho.
  • Simplifica a gestão das chaves de encriptação (incluindo a sua rotação regular) e a gestão das identidades utilizadas para aceder a essas chaves.

A encriptação de dados com chaves geridas pelo cliente para o Azure DocumentDB oferece os seguintes benefícios:

  • Você controla totalmente o acesso aos dados. Você pode revogar uma chave para tornar um banco de dados inacessível.
  • Você controla totalmente o ciclo de vida de uma chave para se alinhar às políticas corporativas.
  • Você pode gerenciar e organizar centralmente todas as suas chaves de criptografia em suas próprias instâncias do Cofre de Chaves do Azure.
  • A criptografia de dados baseada em chaves gerenciadas pelo cliente não afeta negativamente o desempenho de suas cargas de trabalho.
  • Você pode implementar a separação de tarefas entre agentes de segurança, administradores de banco de dados e administradores de sistema.

Requisitos CMK

Com a chave de criptografia gerenciada pelo cliente , você assume toda a responsabilidade pela manutenção dos componentes configurados corretamente necessários para que a CMK funcione. Portanto, você deve implantar seu próprio Cofre de Chaves do Azure e fornecer uma identidade gerenciada atribuída pelo usuário. Você deve gerar ou importar sua própria chave. Deve conceder as permissões necessárias no Key Vault, para que o seu Azure DocumentDB possa realizar as ações necessárias na chave. Tem de tratar de configurar todos os aspetos de rede do Azure Key Vault onde a chave está guardada, para que a sua instância do Azure DocumentDB possa aceder à chave. Auditar o acesso à chave também é sua responsabilidade.

Quando configura chaves geridas pelo cliente para um cluster Azure DocumentDB para MongoDB, o Azure Storage envolve a chave de encriptação de dados raiz (DEK) da conta com a chave gerida pelo cliente no cofre de chaves associado. A proteção da chave de criptografia raiz muda, mas os dados em sua conta de Armazenamento do Azure sempre permanecem criptografados. Não é necessária nenhuma ação extra da sua parte para garantir que os seus dados permaneçam encriptados. A proteção por chaves gerenciadas pelo cliente entra em vigor imediatamente.

O Azure Key Vault é um sistema de gerenciamento de chaves externo baseado em nuvem. É altamente disponível e fornece armazenamento escalável e seguro para chaves criptográficas RSA. Não permite o acesso direto a uma chave armazenada, mas fornece serviços de encriptação e desencriptação a entidades autorizadas. O Cofre de Chaves pode gerar a chave, importá-la ou recebê-la transferida de um dispositivo HSM local.

Segue-se a lista de requisitos e recomendações para a configuração de encriptação de dados no Azure DocumentDB:

Cofre de chaves criptográficas

O cofre de chaves usado para a configuração do CMK deve atender aos seguintes requisitos:

  • Key vault e Azure DocumentDB devem pertencer ao mesmo inquilino Microsoft Entra.
  • Recomendação: defina a configuração Dias para manter cofres excluídos para o Cofre da Chave para 90 dias. Essa definição de configuração pode ser definida somente no momento da criação do cofre de chaves. Depois que uma instância é criada, não é possível modificar essa configuração.
  • Habilite o soft-delete recurso no cofre de chaves para ajudá-lo a se proteger contra perda de dados, se uma chave ou uma instância do cofre de chaves for excluída acidentalmente. O cofre de chaves retém recursos excluídos por 90 dias, a menos que o usuário os recupere ou limpe enquanto isso. As ações de recuperação e limpeza têm suas próprias permissões associadas a um cofre de chaves, uma função RBAC (controle de acesso baseado em função) ou uma permissão de política de acesso. O recurso de exclusão suave está ativado por padrão. Se você tiver um cofre de chaves que foi implantado há muito tempo, ele ainda pode ter a exclusão suave desabilitada. Nesse caso, você pode ativá-lo.
  • Habilite a proteção contra limpeza para impor um período de retenção obrigatório para cofres e objetos do cofre excluídos.
  • Configure o acesso à rede para permitir que o cluster acesse a chave de criptografia no cofre de chaves. Use uma das seguintes opções de configuração:
    • Permitir acesso público de todas as redes permite que todos os hosts na Internet acessem o cofre de chaves.
    • Selecione Desabilitar acesso público e Permitir que serviços confiáveis da Microsoft ignorem esse firewall para desabilitar todo o acesso público, mas para permitir que seu cluster acesse o cofre de chaves.

Chave de encriptação

A chave de criptografia selecionada para a configuração CMK deve atender aos seguintes requisitos:

  • A chave usada para criptografar a chave de criptografia de dados pode ser apenas assimétrica, RSA ou RSA-HSM. São suportados tamanhos de chave de 2.048, 3.072 e 4.096.
    • Recomendação: Use uma chave de 4.096 bits para melhorar a segurança.
  • A data e a hora para a ativação da chave (se definidas) devem estar no passado. A data e a hora de expiração (se definidas) devem ser no futuro.
  • A chave deve estar no estado Habilitado .
  • Se estiver a importar uma chave existente para o Cofre de Chaves do Azure, forneça-a nos formatos de ficheiro suportados (.pfx, .byokou .backup).

Permissions

Conceda à identidade gerida atribuída pelo utilizador do Azure DocumentDB acesso à chave de encriptação:

Atualizações da versão da chave CMK

O CMK no Azure DocumentDB suporta atualizações automáticas de versões de chaves, também conhecidas como chaves sem versão. O serviço Azure DocumentDB identifica automaticamente a nova versão da chave e volta a encriptar a chave de encriptação dos dados. Esse recurso pode ser combinado com o recurso de rotação automática do Azure Key Vault.

Considerações

Quando estiver a utilizar uma chave gerida pelo cliente para encriptação de dados, siga estas recomendações para configurar o Cofre de Chaves:

  • Para evitar a exclusão acidental ou não autorizada desse recurso crítico, defina um bloqueio de recurso do Azure no cofre de chaves.
  • Analise e habilite as opções de disponibilidade e redundância do Azure Key Vault.
  • Habilite o registro em log e o alerta na instância do Azure Key Vault usada para armazenar chaves. O cofre de chaves fornece logs que são fáceis de injetar em outras ferramentas de gerenciamento de eventos e informações de segurança (SIEM). Os Logs do Azure Monitor são um exemplo de um serviço que já está integrado.
  • Habilite a rotação automática de chaves. O serviço Azure DocumentDB capta sempre a versão mais recente da chave selecionada.
  • Bloqueie o acesso de rede pública ao Cofre da Chave selecionando Desativar acesso público e Permitir que serviços confiáveis da Microsoft ignorem esse firewall.

Observação

Depois de selecionar Desativar acesso público e Permitir que serviços fidedignos da Microsoft ignorem esta firewall, poderá receber um erro semelhante ao seguinte quando tentar utilizar o acesso público para administrar o Cofre da Chave através do portal: "Ativou o controlo de acesso à rede. Apenas as redes permitidas têm acesso a este cofre de chaves." Este erro não impede a capacidade de fornecer chaves durante a configuração de chaves gerenciadas pelo cliente ou buscar chaves do Cofre de Chaves durante operações de cluster.

  • Mantenha uma cópia da chave gerenciada pelo cliente em um local seguro ou deposite-a em um serviço de depósito.
  • Se o Cofre da Chave gerar a chave, crie um backup de chave antes de usá-la pela primeira vez. Você só pode restaurar o backup no Cofre de Chaves.