Sobre a CMEK

Para controlar e gerenciar as chaves de criptografia que protegem seus dados em repouso em clusters e backups do AlloyDB para PostgreSQL, use chaves de criptografia gerenciadas pelo cliente (CMEK) no Cloud Key Management Service (Cloud KMS).

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

Por padrão, o AlloyDB para PostgreSQL criptografa o conteúdo do cliente em repouso. O AlloyDB executa a criptografia, e você não precisa fazer nada. Essa opção é chamada de criptografia padrão do Google.

Se você quiser controlar suas chaves de criptografia, use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com serviços integrados a CMEKs, incluindo o AlloyDB. Ao usar chaves do Cloud KMS, é possível controlar o nível de proteção, o local, a programação de rotação, as permissões de uso e acesso e os limites criptográficos. Com o Cloud KMS, também é possível visualizar registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e gerente de chaves de criptografia de chaves (KEKs) simétricas que protegem seus dados, você controla e gerencia essas chaves no Cloud KMS.

Depois de configurar os recursos com CMEKs, a experiência de acesso aos recursos do AlloyDB é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

Para saber como usar CMEKs criadas manualmente para proteger seus recursos do AlloyDB, consulte Usar CMEK.

CMEK com o Cloud KMS Autokey

É possível criar CMEKs manualmente para proteger seus recursos do AlloyDB ou usar o Autokey do Cloud KMS. Com o Autokey, keyrings e chaves são gerados sob demanda para dar suporte à criação de recursos no AlloyDB. Os agentes de serviço que usam as chaves para operações de criptografia e descriptografia são criados se ainda não existirem e receberem os papéis necessários do Identity and Access Management (IAM). Para mais informações, consulte Visão geral das chaves automáticas.

Recursos

  • Controle de acesso a dados:os administradores podem alternar, gerenciar o acesso e desativar ou destruir a chave usada para proteger dados em repouso no AlloyDB.

    O gerenciamento de chaves é feito pelo Cloud KMS. Os clusters não são criptografados novamente de maneira automática com a versão mais recente da chave após a rotação. Os clusters são criptografados pela versão principal da CMEK no momento da criação do cluster. Para alternar a criptografia do cluster, crie um backup e restaure o cluster com uma versão de chave mais recente. Para mais informações sobre backups e recuperação, consulte Visão geral de backup e recuperação de dados.

  • 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 de CMEK não altera o desempenho do AlloyDB.

Preços

O AlloyDB cobra por um cluster com CMEK ativada da mesma forma que qualquer outro cluster, sem cobrança adicional do AlloyDB. Para mais informações, consulte Preços do AlloyDB para PostgreSQL.

O Cloud KMS cobra pelo custo da chave e pelas operações de criptografia e descriptografia quando o AlloyDB usa 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 dados em repouso das seguintes maneiras:

  • Se você ativar a CMEK em um cluster, o AlloyDB vai usar sua chave para criptografar todos os dados do cluster no armazenamento.
  • Se você especificar uma configuração de CMEK ao criar um backup sob demanda, o AlloyDB vai usar sua chave para criptografar esse backup.
  • Se você ativar a CMEK com a configuração de backup contínuo ou automatizado do cluster, o AlloyDB vai usar sua chave para criptografar os backups em andamento.

Seja com o uso de Google-owned and Google-managed encryption keys ou 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 que criptografa.

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

  3. Por fim, o AlloyDB criptografa a KEK com a chave de criptografia baseada no Cloud KMS do cluster, que é uma chaveGoogle-owned and Google-managed encryption key ou 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 pode acessar a chave em seu nome depois que você concede o papel de Criptografador/Descriptografador de CryptoKey do Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) ao 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 em relação a mudanças de chave até que elas sejam propagadas pelo Cloud KMS. Algumas operações, como desativar ou destruir uma chave, podem levar até três horas para serem propagadas. As mudanças 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 seja válida.

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

Usar e gerenciar chaves externas

Como alternativa ao uso de chaves que residem no Cloud KMS, é possível usar chaves que residem em um parceiro de gerenciamento de chaves externas compatível. 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 do Google Cloud. Para mais informações, consulte Cloud External Key Manager.

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 uma solicitação automaticamente. Para mais informações, consulte Visão geral.

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

Indisponibilidade de chaves

Se você desativar a chave do Cloud KMS usada para criptografar um cluster do AlloyDB, as instâncias do AlloyDB que pertencem a esse cluster vão ficar inativas em até 30 minutos. A reativação da chave faz com que as instâncias voltem a funcionar.

Em cenários raros, como durante períodos em que o Cloud KMS está indisponível, o AlloyDB pode não conseguir recuperar o status da chave do Cloud KMS. Nesse cenário, o AlloyDB continua oferecendo suporte a operações completas de cluster com base no melhor esforço por um período de até 30 minutos para minimizar o impacto de interrupções temporárias na carga de trabalho.

Depois de 30 minutos, se o AlloyDB ainda não conseguir se conectar ao Cloud KMS, o AlloyDB 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 ser reconectado com o Cloud KMS, e o Cloud KMS responde que a chave está ativa.

Backups e restauração

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

Quando você restaura um cluster de um backup, o cluster restaurado usa por padrão a criptografia gerenciada pelo Google, mas é possível 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.

Replicação entre regiões

Como as chaves do Cloud KMS são recursos regionais, um cluster primário e um cluster secundário entre regiões precisam usar chaves do Cloud KMS diferentes localizadas nas respectivas regiões. As configurações de criptografia de um cluster principal e do cluster secundário são independentes entre si. Para proteger os dois clusters com CMEK, crie uma chave do Cloud KMS na região do cluster principal e uma chave separada do Cloud KMS na região do cluster secundário.

Logging

É possível auditar as solicitações que o AlloyDB envia ao 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 Visualizar registros de auditoria para um Cloud KMS KMS.

A seguir