Habilitar a criptografia de dados com chaves gerenciadas pelo cliente no Azure Cosmos DB for PostgreSQL

APLICA-SE AO: Azure Cosmos DB for PostgreSQL (da plataforma da extensão de dados Citus para PostgreSQL)

Pré-requisitos

Habilitar criptografia de dados com chave gerenciada pelo cliente

Importante

Crie todos os recursos a seguir na mesma região em que o cluster do Azure Cosmos DB for PostgreSQL será implantado.

  1. Crie uma identidade gerenciada atribuída pelo usuário. Atualmente, o Azure Cosmos DB for PostgreSQL dá suporte apenas a identidades gerenciadas atribuídas pelo usuário.

  2. Crie um Azure Key Vault e adicione uma política de acesso à identidade gerenciada atribuída pelo usuário criada com as seguintes permissões de chave: Obter, Desencapsular Chave e Encapsular Chave.

  3. Gere uma chave no cofre de chaves (tipos de chave com suporte: RSA 2048, 3071, 4096).

  4. Selecione a opção de criptografia de chave gerenciada pelo cliente durante a criação do cluster do Azure Cosmos DB for PostgreSQL e selecione a identidade gerenciada, o cofre de chaves e a chave apropriadas atribuídas pelo usuário criadas nas etapas 1, 2 e 3.

Etapas detalhadas

Identidade gerenciada atribuída pelo usuário

  1. Pesquise Identidades gerenciadas na barra de pesquisa global.

    Screenshot of Managed Identities in Azure portal.

  2. Crie uma nova identidade gerenciada atribuída pelo usuário na mesma região que o cluster do Azure Cosmos DB for PostgreSQL.

    Screenshot of User assigned managed Identity page in Azure portal.

Saiba mais sobre a identidade gerenciada atribuída pelo usuário.

Key Vault

O uso de chaves gerenciadas pelo cliente com Azure Cosmos DB for PostgreSQL exige que você defina duas propriedades na instância do Azure Key Vault que você planeja usar para hospedar suas chaves de criptografia: Exclusão Reversível e Proteção contra Limpeza.

  1. Se você criar uma nova instância do Azure Key Vault, habilite essas propriedades durante a criação:

    Screenshot of Key Vault's properties.

  2. Se estiver usando uma instância existente do Azure Key Vault, você poderá verificar se essas propriedades estão habilitadas examinando a seção Propriedades no portal do Azure. Se qualquer uma dessas propriedades não estiver habilitada, consulte as seções “Habilitar a Exclusão Reversível” e “Habilitar a Proteção contra Limpeza” em um dos seguintes artigos.

  3. O cofre de chaves deve ser definido com 90 dias em Dias para manter cofres excluídos. Se o cofre de chaves existente estiver configurado com um número menor, você precisará criar um novo cofre de chaves, pois essa configuração não pode ser modificada após a criação.

    Importante

    Sua instância do Azure Key Vault deve permitir o acesso público de todas as redes.

Adicionar uma Política de Acesso ao Key Vault

  1. No portal do Azure, vá até a instância do Azure Key Vault que você planeja usar para hospedar suas chaves de criptografia. Selecione Configuração de acesso no menu à esquerda. Verifique se a Política de acesso ao cofre está selecionada em Modelo de permissão e selecione Acessar políticas de acesso.

    Screenshot of Key Vault's access configuration.

  2. Selecione + Criar.

  3. Na guia Permissões, no menu suspenso Permissões de chave, selecione as permissões Obter, Desencapsular Chave e Encapsular Chave.

    Screenshot of Key Vault's permissions settings.

  4. Na guia Entidade de segurança, selecione a Identidade gerenciada atribuída pelo usuário que você criou na etapa de pré-requisito.

  5. Navegue até Revisar + criar e selecione Criar.

Criar / Importar chave

  1. No portal do Azure, vá até a instância do Azure Key Vault que você planeja usar para hospedar suas chaves de criptografia.

  2. Selecione Chaves no menu à esquerda e, em seguida, selecione +Gerar/Importar.

    Screenshot of Key generation page.

  3. A chave gerenciada pelo cliente a ser usada para criptografar a DEK só pode ser do tipo de chave assimétrica RSA. Todos os tamanhos de chave RSA 2048, 3072 e 4096 têm suporte.

  4. A data de ativação da chave (se definida) precisa ser uma data e uma hora no passado. A data de validade (se definida) precisa ser uma data e hora no futuro.

  5. A chave precisa estar no estado Habilitado.

  6. Se você estiver importando uma chave existente no cofre de chaves, certifique-se de fornecê-la nos formatos de arquivo com suporte (.pfx, .byok, .backup).

  7. Se você estiver girando manualmente a chave, a versão da chave antiga não deverá ser excluída por pelo menos 24 horas.

Habilitar a criptografia CMK durante o provisionamento de um novo cluster

  1. Durante o provisionamento de um novo cluster do Azure Cosmos DB para PostgreSQL, depois de fornecer as informações necessárias nas guias Noções básicas e Rede, navegue até a guia Criptografia. Screenshot of Encrytion configuration page.

  2. Selecione Chave gerenciada pelo cliente na opção Chave de criptografia de dados.

  3. Selecione a identidade gerenciada atribuída pelo usuário criada na seção anterior.

  4. Selecione o cofre de chaves criado na etapa anterior, que tem a política de acesso à identidade gerenciada pelo usuário selecionada na etapa anterior.

  5. Selecione a chave criada na etapa anterior e selecione Examinar + criar.

  6. Depois que o cluster for criado, verifique se a criptografia CMK está habilitada navegando até a folha Criptografia de dados do cluster do Azure Cosmos DB for PostgreSQL no portal do Azure. Screenshot of data encryption tab.

Observação

A criptografia de dados só pode ser configurada durante a criação de um novo cluster e não pode ser atualizada em um cluster existente. Uma solução alternativa para atualizar a configuração de criptografia em um cluster existente é executar uma restauração de cluster e configurar a criptografia de dados durante a criação do cluster recém-restaurado.

Alta disponibilidade

Quando a criptografia CMK está habilitada no cluster primário, todos os nós em espera de HA são criptografados automaticamente pela chave do cluster primário.

Alterando a configuração de criptografia executando um PITR

A configuração de criptografia pode ser alterada da criptografia gerenciada pelo serviço para a criptografia gerenciada pelo cliente ou vice-versa durante a execução de uma operação de restauração de cluster (PITR – restauração pontual).

  1. Navegue até a folha Criptografia de dados e selecione Iniciar operação de restauração. Como alternativa, você pode executar o PITR selecionando a opção Restaurar na folha Visão geral. Screenshot of PITR.

  2. Você pode alterar/configurar a criptografia de dados na guia Criptografia da página de restauração do cluster.

Monitorar a chave gerenciada pelo cliente no Key Vault

Para monitorar o estado do banco de dados e habilitar o alerta para perda de acesso ao protetor do Transparent Data Encryption, configure os seguintes recursos do Azure:

  • Azure Resource Health: um banco de dados inacessível que perdeu o acesso à chave do cliente aparecerá como "Inacessível" após a negação da primeira conexão com o banco de dados.

  • Log de atividades: quando o acesso à chave do cliente falha no Key Vault gerenciado pelo cliente, as entradas são adicionadas ao log de atividades. Você poderá restabelecer o acesso assim que possível se criar alertas para esses eventos.

  • Grupos de ação: defina esses grupos para enviar notificações e alertas com base em suas preferências.

Próximas etapas