Sobre a CMEK

Esta página descreve as chaves de criptografia gerenciadas pelo cliente (CMEK) do AlloyDB para PostgreSQL.

Para mais informações sobre CMEK em geral, como quando e por que ativar esse recurso, consulte a documentação do Cloud KMS.

Para conferir um guia explicativo sobre como usar a CMEK com o AlloyDB, consulte Usar CMEK.

Uma alternativa autogerenciada à criptografia gerenciada pelo Google

Por padrão, todos os dados em repouso no Google Cloud, incluindo os dados no AlloyDB, são protegidos usando a criptografia padrão gerenciada pelo Google.O Google Cloudprocessa e gerencia essa criptografia padrão para você sem que você precise fazer nada.

Se você tiver requisitos regulatórios ou de compliance específicos relacionados às chaves que protegem seus dados, use a CMEK. Com a CMEK, seu cluster do AlloyDB é protegido usando uma chave que você controla e gerencia no Cloud Key Management Service (KMS). A chave CMEK pode ser uma chave simétrica ou uma chave do Cloud HSM.

Recursos

  • Controle de acesso a dados:os administradores podem girar, gerenciar o acesso e desativar ou destruir a chave usada para proteger os dados em repouso no AlloyDB.
  • Auditabilidade:se você ativar a geração de registros de auditoria para a API Cloud KMS no seu projeto, todas as ações na chave, incluindo as realizadas pelo AlloyDB, serão registradas e visualizáveis no Cloud Logging.
  • Desempenho:o uso da CMEK não altera o desempenho do AlloyDB.

Preços

O AlloyDB fatura um cluster ativado para CMEK, como qualquer outro cluster. Não há custos adicionais do AlloyDB. Para mais informações, consulte Preços do AlloyDB para PostgreSQL.

Você vai receber cobranças do Cloud KMS pelo custo da chave e pelas operações de criptografia e descriptografia quando o AlloyDB usar a chave. Para mais informações, consulte Preços do Cloud Key Management Service.

O que é protegido com a CMEK

O AlloyDB usa sua chave do Cloud KMS para proteger os dados em repouso das seguintes maneiras:

Seja usando uma Google-owned and Google-managed encryption keys ou uma CMEK, o AlloyDB tem três camadas de criptografia:

  1. O AlloyDB divide os dados em repouso em blocos para armazenamento e criptografa cada bloco com uma chave de criptografia individual. A chave usada para criptografar os dados em um bloco é chamada de chave de criptografia de dados (DEK).

    Devido ao grande volume de chaves no Google e à necessidade de baixa latência e alta disponibilidade, o AlloyDB armazena cada DEK perto dos dados criptografados.

  2. O AlloyDB criptografa cada DEK com uma chave de criptografia de chaves (KEK) que é mantida pelo cluster.

  3. Por fim, o AlloyDB criptografa a KEK com a chave de criptografia baseada no Cloud Key Management Service do cluster, que é uma Google-owned and Google-managed encryption key ou uma chave CMEK.

Também é possível visualizar as versões de chave que estão sendo usadas para proteger um cluster.

Ativar a CMEK

Para permitir que um cluster do AlloyDB use CMEK, especifique a chave do Cloud KMS no momento da criação do cluster.

O AlloyDB poderá acessar a chave em seu nome depois que você conceder o papel de Criptografador/Descriptografador do Cloud KMS CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) a um agente de serviço do AlloyDB.

Para instruções detalhadas, consulte Usar CMEK.

Gerenciar chaves

Use o Cloud KMS para todas as operações de gerenciamento de chaves. O AlloyDB não pode detectar nem agir sobre nenhuma alteração de chave até que sejam propagadas pelo Cloud KMS. Algumas operações, como a desativação ou a destruição de uma chave, podem levar até três horas para se propagarem. As alterações nas permissões geralmente são propagadas muito mais rápido.

Depois que o cluster é criado, o AlloyDB chama o Cloud KMS a cada cinco minutos para garantir que a chave ainda esteja válida.

Se o AlloyDB detectar que a chave do Cloud KMS foi desativada ou destruída, uma operação para tornar os dados do cluster inacessíveis começará imediatamente. Se as chamadas do AlloyDB para o Cloud KMS detectarem que uma chave desativada anteriormente foi reativada, o acesso será restaurado automaticamente.

Usar e gerenciar chaves externas

Como alternativa ao uso de chaves no Cloud KMS, é possível usar chaves em um parceiro de gerenciamento de chaves externas com suporte. Para fazer isso, use o Cloud External Key Manager (Cloud EKM) para criar e gerenciar chaves externas, que são ponteiros para chaves que residem fora de Google Cloud. Para mais informações, consulte Gerenciador de chaves externo do Cloud.

Depois de criar uma chave externa com o Cloud EKM, é possível aplicá-la a um novo cluster do AlloyDB fornecendo o ID dessa chave ao criar o cluster. Esse procedimento é o mesmo que aplicar uma chave do Cloud KMS a um novo cluster.

É possível usar as justificativas de acesso às chaves (KAJ) como parte do Cloud EKM. As justificativas de acesso às chaves permitem que você veja o motivo de cada solicitação do Cloud EKM. Além disso, com base na justificativa fornecida, é possível aprovar ou negar automaticamente uma solicitação. Para mais informações, consulte a Visão geral.

O Google não tem controle sobre a disponibilidade de chaves em um sistema parceiro de gerenciamento de chaves externas.

Indisponibilidade da chave

Se você desativar a chave do Cloud KMS usada para criptografar um cluster do AlloyDB, as instâncias do AlloyDB pertencentes a esse cluster vão ficar indisponíveis em 30 minutos. A reativação da chave restaura as instâncias.

Em cenários raros, como em períodos em que o Cloud KMS não está disponível, o AlloyDB talvez não consiga recuperar o status da sua chave do Cloud KMS. Nesse cenário, o AlloyDB continua oferecendo suporte a operações completas do cluster de maneira otimizada por um período de até 30 minutos para minimizar o impacto de interrupções temporárias na carga de trabalho.

Após 30 minutos, se o AlloyDB ainda não conseguir se conectar ao Cloud KMS, ele vai começar a colocar o cluster off-line como uma medida de proteção. Os dados no cluster do AlloyDB permanecem inacessíveis até que o cluster possa se reconectar com o Cloud KMS, e o Cloud KMS responde que a chave está ativa.

Backups e restauração

O AlloyDB também protege backups com CMEK ou a criptografia padrão gerenciada pelo Google. Se um backup estiver ativado para a CMEK, ele será criptografado usando a versão primária da chave KMS no momento da criação do backup. Depois que um backup é criado, a chave e a versão de chave não podem ser modificadas, mesmo que a chave KMS seja alternada. Para mais informações, consulte Como fazer backup de um cluster.

Quando você restaurar um cluster a partir de um backup, o cluster restaurado vai usar a criptografia gerenciada pelo Google por padrão, mas você pode especificar uma chave CMEK para usar. Para restaurar um backup ativado para CMEK, a chave e a versão da chave usadas para criptografar o backup precisam estar disponíveis.

Logging

É possível auditar as solicitações que o AlloyDB envia para o Cloud KMS em seu nome no Cloud Logging, se você tiver ativado a geração de registros de auditoria para a API Cloud KMS no seu projeto. Essas entradas de registro do Cloud KMS são visíveis no Cloud Logging. Para mais informações, consulte Como visualizar registros de auditoria para uma chave do Cloud KMS.

A seguir