Compartilhar via


Criptografia de dados com chave gerenciada pelo cliente

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

Os dados armazenados no cluster do Azure Cosmos DB for PostgreSQL são criptografados de maneira automática e ideal com chaves gerenciadas pela Microsoft. Essas chaves são chamadas de chaves gerenciadas pelo serviço. O Azure Cosmos DB for PostgreSQL usa a criptografia do Armazenamento do Azure para criptografar dados inativos por padrão usando chaves gerenciadas pelo serviço. Opcionalmente, você pode escolher adicionar uma camada extra de segurança habilitando a criptografia com chaves gerenciadas pelo cliente.

Chaves gerenciadas pelo serviço

O serviço Azure Cosmos DB for PostgreSQL usa o módulo de criptografia validado por FIPS 140-2 para criptografia de armazenamento de dados em repouso. Todos os dados, incluindo backups e arquivos temporários criados durante a execução de consultas, são criptografados em disco. O serviço usa a criptografia AES de 256 bits incluída na criptografia de armazenamento do Azure e as chaves são gerenciadas pelo sistema. A criptografia de armazenamento está sempre ativada e não pode ser desabilitada.

Chaves gerenciadas pelo cliente

Muitas organizações exigem controle total sobre o acesso aos dados usando uma CMK (chave gerenciada pelo cliente). A criptografia de dados com chaves gerenciadas pelo cliente para o Azure Cosmos DB for PostgreSQL permite que você traga sua própria chave para proteger dados inativos. Ela também permite que as organizações implementem a separação de tarefas no gerenciamento de chaves e dados. Com a criptografia gerenciada pelo cliente, você é responsável e tem total controle do ciclo de vida da chave, das permissões de uso e da auditoria de operações.

A criptografia de dados com chaves gerenciadas pelo cliente para o Azure Cosmos DB for PostgreSQL é definida no nível do servidor. Os dados, incluindo backups, são criptografados em disco. Essa criptografia inclui os arquivos temporários criados durante a execução de consultas. Para determinado cluster, uma chave gerenciada pelo cliente, chamada KEK (chave de criptografia de chave), é usada para criptografar a DEK (chave de criptografia de dados) do serviço. A KEK é uma chave assimétrica armazenada em uma instância do Azure Key Vault gerenciada pelo cliente e de propriedade dele.

Descrição
DEK (chave de criptografia de dados) A chave de criptografia dados é uma chave simétrica AES256 usada para criptografar uma partição ou bloco de dados. Criptografar cada bloco de dados com uma chave diferente torna os ataques de análise de criptografia mais difíceis. O provedor de recursos ou a instância de aplicativo que criptografa e descriptografa um bloco específico requer acesso às DEKs. Quando você substitui uma DEK por uma nova chave, apenas os dados no respectivo bloco associado precisam ser criptografados novamente com a nova chave.
Chave com criptografia de chave (KEK) Uma chave de criptografia de chave é uma chave de criptografia usada para criptografar as DEKs. Uma KEK que nunca sai do cofre de chaves permite que as próprias DEKs sejam criptografadas e controladas. A entidade que tem acesso à KEK pode ser diferente da entidade que requer a DEK. Como a KEK é necessária para descriptografar as DEKs, a KEK é efetivamente um ponto único e a exclusão da KEK exclui efetivamente as DEKs.

Observação

O Azure Key Vault é um sistema de gerenciamento de chaves baseado em nuvem. É altamente disponível e fornece armazenamento escalonável e seguro para chaves criptográficas RSA, opcionalmente apoiado por módulos de segurança de hardware validados pelo FIPS 140 (HSMs). Um cofre de chaves não permite acesso direto a uma chave armazenada, mas fornece serviços de criptografia e descriptografia para as entidades autorizadas. Um cofre de chaves pode gerar a chave, importar ou transferi-la de um dispositivo HSM local.

As DEKs, criptografadas com as KEKs, são armazenadas separadamente. Somente uma entidade com acesso à KEK pode descriptografar essas DEKs. Para obter mais informações, confira Segurança na criptografia em repouso.

Como funciona a criptografia de dados com uma chave gerenciada pelo cliente

Para que um cluster use as chaves gerenciadas pelo cliente armazenadas no Key Vault para criptografar a DEK, um administrador do Key Vault deve conceder os seguintes direitos de acesso ao servidor:

Descrição
get Permite recuperar a parte pública e as propriedades da chave no cofre de chaves.
wrapKey Habilita a criptografia da DEK. A DEK criptografada é armazenado no Azure Cosmos DB for PostgreSQL.
unwrapKey Habilita a descriptografia da DEK. O Azure Cosmos DB for PostgreSQL requer a DEK descriptografada para criptografar/descriptografar dados.

O administrador do cofre de chaves também pode habilitar o registro em log de eventos de auditoria do Key Vault, para que eles possam ser auditados posteriormente. Quando o cluster do Azure Cosmos DB for PostgreSQL é configurado para usar a chave gerenciada pelo cliente armazenada no cofre de chaves, o cluster envia a DEK para o cofre de chaves para criptografia. O Key Vault retorna a DEK criptografada, que é armazenada no banco de dados do usuário. De modo semelhante, quando necessário, o servidor envia a DEK protegida para o cofre de chaves para descriptografia. Os auditores podem usar o Azure Monitor para examinar os logs de eventos de auditoria do Key Vault se o registro em log estiver habilitado.

Captura de tela da arquitetura da criptografia de dados com chaves gerenciadas pelo cliente.

Benefícios

A criptografia de dados com chaves gerenciadas pelo cliente para o Azure Cosmos DB for PostgreSQL oferece os benefícios a seguir:

  • Controle total sobre o acesso a dados com a capacidade de remover a chave e tornar o banco de dados inacessível.
  • Controle total sobre o ciclo de vida da chave, incluindo a rotação da chave para se alinhar com as políticas corporativas.
  • Gerenciamento central e organização de chaves no Azure Key Vault.
  • Capacidade de implementar a separação de tarefas entre os responsáveis pela segurança, os administradores de banco de dados e os administradores do sistema.
  • Habilitar a criptografia não causa nenhum efeito extra no desempenho, com ou sem chaves gerenciadas pelo cliente. O Azure Cosmos DB for PostgreSQL depende do Armazenamento do Azure para criptografia de dados em cenários de chave gerenciada pelo cliente e pelo serviço.

Próximas etapas