Partilhar via


Encriptação de dados com chaves geridas pelo cliente

APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)

Os dados armazenados em seu cluster do Azure Cosmos DB para PostgreSQL são automaticamente e perfeitamente criptografados com chaves gerenciadas pela Microsoft. Essas chaves são chamadas de chaves gerenciadas por serviço. O Azure Cosmos DB para PostgreSQL usa a criptografia do Armazenamento do Azure para criptografar dados em repouso por padrão usando chaves gerenciadas por serviço. Opcionalmente, você pode optar por adicionar uma camada extra de segurança habilitando a criptografia com chaves gerenciadas pelo cliente.

Chaves gerenciadas por serviço

O serviço Azure Cosmos DB para PostgreSQL usa o módulo criptográfico validado 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 no disco. O serviço usa a cifra AES de 256 bits incluída na criptografia de armazenamento do Azure e as chaves são gerenciadas pelo sistema. A encriptação de armazenamento está sempre ativada e não pode ser desativada.

Chaves geridas pelo cliente

Muitas organizações exigem controle total de acesso aos dados usando uma chave gerenciada pelo cliente (CMK). 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 em repouso. Também permite às organizações implementarem a separação de deveres na gestão das chaves e dos dados. Com a criptografia gerenciada pelo cliente, você é responsável e tem controle total do ciclo de vida de uma chave, das permissões de uso e da auditoria das operações.

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

Description
Chave de criptografia de dados (DEK) Uma chave de criptografia de dados é uma chave AES256 simétrica 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 instância do aplicativo que está criptografando e descriptografando um bloco específico requer acesso a DEKs. Quando você substitui uma DEK por uma nova chave, somente os dados em seu bloco associado devem ser criptografados novamente com a nova chave.
Chave de criptografia de chave (KEK) Uma chave de criptografia de chave é uma chave de criptografia usada para criptografar as DEKs. Um KEK que nunca sai de um cofre de chaves permite que os próprios DEKs sejam criptografados e controlados. A entidade que tem acesso ao KEK pode ser diferente da entidade que requer o DEK. Uma vez que o KEK é necessário para desencriptar os DEKs, o KEK é efetivamente um único ponto e a eliminação do KEK elimina efetivamente os DEKs.

Nota

O Azure Key Vault é um sistema de gerenciamento de chaves baseado em nuvem. É altamente disponível e fornece armazenamento escalável e seguro para chaves criptográficas RSA, opcionalmente apoiado por módulos de segurança de hardware validados 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 entidades autorizadas. Um cofre de chaves pode gerar a chave, importá-la ou transferi-la de um dispositivo HSM local.

Os DEKs, criptografados com os KEKs, são armazenados separadamente. Apenas uma entidade com acesso ao KEK pode desencriptar estes DEKs. Para obter mais informações, consulte Segurança na criptografia em repouso..

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

Para que um cluster use chaves gerenciadas pelo cliente armazenadas no Cofre da Chave para criptografia da DEK, um administrador do Cofre da Chave concede os seguintes direitos de acesso ao servidor:

Description
Obter Permite recuperar a parte pública e as propriedades da chave no cofre de chaves.
Chave do WrapKey Permite a encriptação da DEK. A DEK criptografada é armazenada no Azure Cosmos DB para PostgreSQL.
unwrapKey Permite a desencriptação da DEK. O Azure Cosmos DB para PostgreSQL requer a DEK desencriptada para encriptar/desencriptar dados.

O administrador do cofre de chaves também pode habilitar o registro de eventos de auditoria do Cofre de Chaves, para que possam ser auditados posteriormente. Quando o cluster do Azure Cosmos DB para 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 criptografias. O Cofre da Chave retorna a DEK criptografada, que é armazenada no banco de dados do usuário. Da mesma forma, quando necessário, o servidor envia a DEK protegida para o cofre de chaves para desencriptação. Os auditores podem usar o Azure Monitor para revisar os logs de eventos de auditoria do Key Vault, se o log estiver habilitado.

Captura de tela da arquitetura de 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 seguintes benefícios:

  • Você controla totalmente o acesso aos 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 alinhá-la com políticas corporativas específicas.
  • Gerenciamento central e organização de chaves no Cofre de Chaves do Azure.
  • Capacidade de implementar a separação de funções entre agentes de segurança, administradores de banco de dados e administradores de sistema.
  • Habilitar a criptografia não tem nenhum efeito extra de desempenho com ou sem chaves gerenciadas pelo cliente. O Azure Cosmos DB para PostgreSQL depende do Armazenamento do Azure para criptografia de dados em cenários de chave gerenciados pelo cliente e gerenciados por serviço.

Próximos passos