Habilitar a criptografia de dados com chaves gerenciadas pelo cliente no Azure Cosmos DB para PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
Pré-requisitos
- Uma conta existente do Azure Cosmos DB para PostgreSQL.
- Se você tiver uma assinatura do Azure, crie uma nova conta.
- Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Como alternativa, você pode experimentar o Azure Cosmos DB gratuitamente antes de confirmar.
Habilite a criptografia de dados com chaves gerenciadas pelo cliente
Importante
Crie todos os recursos a seguir na mesma região onde seu cluster do Azure Cosmos DB para PostgreSQL será implantado.
Crie uma identidade gerida atribuída pelo utilizador. Atualmente, o Azure Cosmos DB para PostgreSQL dá suporte apenas a identidades gerenciadas atribuídas pelo usuário.
Crie um Cofre da Chave do Azure e adicione uma política de acesso à Identidade Gerenciada Atribuída pelo Usuário criada com as seguintes permissões de chave: Get, Unwrap Key e Wrap Key.
Gere uma chave no cofre de chaves (tipos de chave suportados: RSA 2048, 3071, 4096).
Selecione a opção de criptografia de chave gerenciada pelo cliente durante a criação do cluster do Azure Cosmos DB para PostgreSQL e selecione a identidade gerenciada atribuída pelo usuário, o cofre de chaves e a chave criados nas etapas 1, 2 e 3.
Passos detalhados
Identidade gerida atribuída pelo utilizador
Pesquise identidades gerenciadas na barra de pesquisa global.
Crie uma nova identidade gerenciada atribuída ao usuário na mesma região do cluster do Azure Cosmos DB para PostgreSQL.
Saiba mais sobre a identidade gerenciada atribuída pelo usuário.
Key Vault
Usar chaves gerenciadas pelo cliente com o Azure Cosmos DB para PostgreSQL exige que você defina duas propriedades na instância do Cofre de Chaves do Azure que você planeja usar para hospedar suas chaves de criptografia: Proteção de Exclusão Suave e Proteção de Limpeza.
Se você criar uma nova instância do Azure Key Vault, habilite estas propriedades durante a criação:
Se estiver a utilizar uma instância existente do Azure Key Vault, pode verificar se estas propriedades estão ativadas consultando a secção Propriedades no portal do Azure. Se alguma dessas propriedades não estiver habilitada, consulte as seções "Habilitando exclusão flexível" e "Habilitando a proteção contra limpeza" em um dos artigos a seguir.
- Como usar o soft-delete com o PowerShell.
- Como usar a exclusão suave com a CLI do Azure.
A chave do Cofre deve ser definida com 90 dias para que os cofres sejam mantidos 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 poderá 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 Cofre da Chave
No portal do Azure, vá para a instância do Cofre de Chaves do Azure 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 do Vault está selecionada em Modelo de permissão e, em seguida, selecione Ir para políticas de acesso.
Selecione + Criar.
Na guia Permissões, no menu suspenso Permissões de chave, selecione Obter, Desembrulhar Chave e Encapsular Chave.
Na guia Principal, selecione a Identidade gerenciada atribuída ao usuário que você criou na etapa de pré-requisito.
Navegue até Rever + criar, selecione Criar.
Criar / Importar Chave
No portal do Azure, vá para a instância do Cofre de Chaves do Azure que você planeja usar para hospedar suas chaves de criptografia.
Selecione Teclas no menu esquerdo e, em seguida, selecione +Gerar/Importar.
A chave gerenciada pelo cliente a ser usada para criptografar a DEK só pode ser do tipo de chave RSA assimétrica. Todos os tamanhos de chave RSA 2048, 3072 e 4096 são suportados.
A data de ativação da chave (se definida) deve ser uma data e hora no passado. A data de expiração (se definida) deve ser uma data e hora futuras.
A chave deve estar no estado Ativado.
Se estiver a importar uma chave existente para o cofre de chaves, certifique-se de que a fornece nos formatos de ficheiro suportados (
.pfx
,.byok
,.backup
).Se você estiver girando manualmente a chave, a versão antiga da chave não deve ser excluída por pelo menos 24 horas.
Habilitar a criptografia CMK durante o provisionamento de um novo cluster
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 .
Selecione Chave gerenciada pelo cliente na opção Chave de criptografia de dados.
Selecione a identidade gerenciada atribuída ao usuário criada na seção anterior.
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.
Selecione a chave criada na etapa anterior e, em seguida, selecione Revisar + criar.
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 para PostgreSQL no portal do Azure.
Nota
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.
Elevada disponibilidade
Quando a criptografia CMK é habilitada no cluster primário, todos os nós em espera HA são automaticamente criptografados pela chave do cluster primário.
Alterando a configuração de criptografia executando um PITR
A configuração de criptografia pode ser alterada de criptografia gerenciada por serviço para criptografia gerenciada pelo cliente ou vice-versa durante a execução de uma operação de restauração de cluster (PITR - restauração point-in-time).
Monitorar a chave gerenciada pelo cliente no Cofre da Chave
Para monitorar o estado do banco de dados e habilitar o alerta para a perda de acesso transparente do protetor de criptografia de dados, configure os seguintes recursos do Azure:
Azure Resource Health: um banco de dados inacessível que perdeu o acesso à Chave do Cliente é exibido como "Inacessível" após a primeira conexão com o banco de dados ter sido negada.
Registo de atividades: Quando o acesso à Chave do Cliente no Cofre de Chaves gerido pelo cliente falha, são adicionadas entradas ao registo de atividades. Você pode restabelecer o acesso o mais rápido possível, se criar alertas para esses eventos.
Grupos de ação: defina esses grupos para enviar notificações e alertas com base em sua preferência.
Próximos passos
- Saiba mais sobre a criptografia de dados com chaves gerenciadas pelo cliente
- Confira os limites e limitações da CMK no Azure Cosmos DB para PostgreSQL