Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês)

Por padrão,o Google Cloud criptografa automaticamente os dados quando estão em repouso usando chaves de criptografia gerenciadas pelo Google. Se você tiver requisitos de regulamentação ou compliance específicos relacionados às chaves que protegem seus dados, use chaves de criptografia gerenciadas pelo cliente (CMEK).

Com as CMEK, é possível proteger seus dados de backup e DR usando uma chave criptográfica controlada pelo Cloud Key Management Service (Cloud KMS). Ao usar a CMEK, você gerencia a chave no Cloud Key Management Service e controla quem pode acessar gerenciando as permissões do Identity and Access Management na chave. Se você desativar temporariamente ou destruir permanentemente a chave CMEK, os dados protegidos por ela ficarão inacessíveis. Para mais informações sobre a CMEK em geral, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

O Backup and DR usa a CMEK para proteger os dados de backup armazenados em vaults de backup.

Como o Backup e DR usa a CMEK

Dependendo do recurso que está sendo armazenado em backup, o Backup e DR usa chaves CMEK para proteger os backups da seguinte maneira:

  • Para backups de instâncias do Compute Engine armazenados em um backup vault: se um ou mais discos anexados a uma instância do Compute Engine forem criptografados com CMEK, o Backup e DR exigirá que essa instância seja armazenada em backup em um backup vault habilitado para CMEK. Se todos os discos anexados à instância usarem a criptografia gerenciada pelo Google, no console Google Cloud , armazene os backups em um vault de backup não CMEK. No entanto, se você usar a Google Cloud CLI, a API ou o Terraform, poderá configurar backups para que uma instância seja armazenada em um cofre de backup habilitado para CMEK.

    Se um backup de instância do Compute Engine for armazenado em um cofre de backup habilitado para CMEK, os dados de backup serão criptografados usando a chave do Cloud Key Management Service do cofre, independente do status de criptografia dos discos da instância.

  • Para backups de disco permanente: o Backup e DR preserva a criptografia do disco de origem usando a criptografia da carga de trabalho de origem. Se o Persistent Disk de origem for protegido por CMEK, os backups dele serão protegidos pela mesma chave de CMEK. Se o Persistent Disk de origem usar a criptografia gerenciada pelo Google, os backups também usarão esse tipo de criptografia e precisarão ser armazenados em um vault de backup não configurado com CMEK.

A tabela a seguir resume qual chave de criptografia é usada para backups de diferentes tipos de carga de trabalho:

Carga de trabalho Chave de criptografia usada para backup Status de suporte da CMEK
Instância do Compute Engine Chave CMEK do backup vault Sim
Disco do Compute Engine Chave de criptografia do disco de origem Sim
Cloud SQL - Sem suporte
Cluster do AlloyDB - Sem suporte
Instância do Filestore - Sem suporte
Google Cloud VMware Engine, banco de dados Oracle e banco de dados SQL Server - Sem suporte

Limitações

O suporte do Backup e DR à CMEK tem as seguintes limitações:

  • A proteção da CMEK só é compatível com backups de instâncias do Compute Engine e Persistent Disk armazenados em backup vaults.
  • É possível configurar a CMEK em um cofre de backup apenas no momento da criação. Não é possível ativar, desativar ou mudar a CMEK em um cofre de backup atual.
  • A chave do Cloud Key Management Service precisa estar no mesmo local que o cofre de backup. Um backup vault em uma região precisa usar uma chave da mesma região. Um backup vault multirregional precisa usar uma chave da mesma multirregião.
  • O Backup and DR não oferece suporte a chaves de criptografia fornecidas pelo cliente (CSEK).
  • O backup vault e o plano de backup padrão usam a criptografia gerenciada pelo Google. Para usar a CMEK, crie um novo cofre de backup e ative explicitamente a CMEK.

Antes de começar

Antes de começar a usar a CMEK, siga estas etapas:

  1. Ative a API Cloud Key Management Service no projeto que vai armazenar as chaves da CMEK.

    Ativar a API

  2. Crie um keyring e uma chave do Cloud Key Management Service. Ao criar a chave, selecione um local que corresponda ao local do backup vault. Um backup vault em uma região precisa usar uma chave da mesma região. Um backup vault multirregional precisa usar uma chave da mesma multirregião.

  3. Se ainda não tiver sido criado, crie o agente de serviço do Backup e DR. O agente de serviço é criado automaticamente depois que o primeiro recurso do Backup e DR (cofre de backup, console do Google Cloud etc.) é criado em um projeto. Se você precisar conceder permissões ao agente de serviço antes de criar um backup vault, acione a criação dele com o seguinte comando:

    gcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
    
    Substitua PROJECT_ID pelo ID do seu projeto.

Conceder permissões para a CMEK

Para que o Backup e DR proteja backups usando a CMEK ou faça backup de recursos protegidos por CMEK, é necessário conceder papéis do IAM a agentes de serviço específicos.

Conceder permissão para usar a chave da CMEK do Vault

Ao configurar a CMEK para um cofre de backup, o Backup e DR precisa de permissão para usar sua chave de CMEK e criptografar e descriptografar dados. Essa permissão precisa ser concedida ao agente de serviço do Backup e DR.

É importante distinguir entre duas contas de serviço diferentes usadas pelo Backup and DR:

  • Agente de serviço de Backup e DR: é uma conta de serviço no nível do projeto usada para gerenciar recursos de Backup e DR e acessar chaves do Cloud Key Management Service quando um backup vault é configurado com CMEK. Esse é o agente de serviço que requer a função roles/cloudkms.cryptoKeyEncrypterDecrypter na chave CMEK.
  • Conta de serviço do cofre de backup: é uma conta de serviço exclusiva por cofre que você concede permissões para acessar e fazer backup de cargas de trabalho de origem (como instâncias do Compute Engine). Essa conta de serviço não é usada para a criptografia CMEK de dados no cofre de backup.

Para usar a CMEK com o Backup e DR, conceda o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) ao agente de serviço do Backup e DR. Esse agente de serviço é uma conta de serviço que o Backup and DR usa para acessar recursos em seu nome, incluindo o acesso à sua chave do Cloud Key Management Service durante operações de criptografia e descriptografia.

O agente de serviço de Backup e DR tem o seguinte formato:

service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com

Substitua VAULT_PROJECT_NUMBER pelo número do projeto que contém o cofre de backup.

É possível conceder esse papel no momento da criação do cofre de backup usando o console Google Cloud , se você tiver permissões para conceder papéis do IAM, ou conceder com antecedência usando o comando gcloud kms keys add-iam-policy-binding:

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --location=KMS_LOCATION \
    --keyring=KEY_RING \
    --member=serviceAccount:service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

É possível conceder esse papel em uma chave específica, conforme mostrado no exemplo, ou no nível do keyring ou do projeto. Conceder permissões no nível da chave oferece o controle mais granular e é recomendado para o princípio de privilégio mínimo. Conceder permissões no nível do projeto ou do chaveiro é mais conveniente se você pretende que o Backup e DR use várias chaves nesse escopo, mas concede permissões mais amplas.

Conceder permissão para fazer backup de recursos protegidos por CMEK

Se você estiver fazendo backup de um recurso criptografado com uma chave CMEK diferente, como uma instância do Compute Engine com discos criptografados com CMEK, serão necessárias mais permissões. O agente de serviço do serviço do recurso de origem precisa de permissão para usar as chaves que protegem o recurso de origem. Por exemplo, para fazer backup de uma instância do Compute Engine criptografada com CMEK, o agente de serviço do Compute Engine do projeto da instância de origem precisa ter o papel roles/cloudkms.cryptoKeyEncrypterDecrypter nas chaves do Cloud Key Management Service usadas para criptografar os discos da instância. Na maioria dos casos, essa permissão já está em vigor para que a carga de trabalho de origem funcione.

Usar a CMEK com o Backup e DR

Esta seção descreve o fluxo de trabalho para proteger backups usando a CMEK.

1. Criar um backup vault ativado para CMEK

Ao criar um cofre de backup, selecione a opção Chave de criptografia gerenciada pelo cliente (CMEK) na seção Criptografia e escolha a chave do Cloud Key Management Service que você criou. Só é possível ativar a CMEK durante a criação do cofre. Não é possível ativar, desativar ou mudar em um cofre existente.

2. Criar um plano de backup

Ao criar um plano de backup, selecione o backup vault ativado para CMEK que você criou na etapa anterior como o backup vault de destino para os backups.

3. Aplicar o plano de backup aos recursos

Ao aplicar um plano de backup a um recurso, verifique se ele tem como destino um backup vault compatível com a configuração de criptografia do recurso:

  • Se você estiver fazendo backup de uma instância do Compute Engine com um ou mais discos criptografados com CMEK anexados, use um plano de backup que tenha como destino um cofre de backup habilitado para CMEK.
  • Se você estiver fazendo backup de uma instância do Compute Engine em que todos os discos anexados usam criptografia gerenciada pelo Google:
    • Se você estiver atribuindo o plano de backup usando o console do Google Cloud , use um plano que tenha como destino um backup vault não CMEK.
    • Se você estiver atribuindo o plano de backup usando a CLI gcloud, a API ou o Terraform, escolha um plano de backup que tenha como destino um cofre de backup habilitado para CMEK. Se você fizer isso, os backups da instância serão criptografados com a chave CMEK do cofre de backup.
  • Se você estiver fazendo backup de um Persistent Disk que usa a criptografia gerenciada pelo Google, use um plano de backup que tenha como destino um cofre de backup sem CMEK.

Confira se você concedeu as permissões do KMS necessárias, conforme detalhado em Conceder permissões para CMEK, para que os backups sejam executados sem problemas.

Rotação de chaves e capacidade de restauração de backup do Cloud Key Management Service

O Backup e DR é compatível com a rotação de chaves do Cloud Key Management Service. Quando você faz a rotação de uma chave, o Cloud Key Management Service cria uma nova versão, que se torna a principal. O Backup and DR usa a versão da chave primária para criptografar todos os novos backups de cofres de backup configurados com essa chave.

Os backups atuais não são criptografados novamente e permanecem criptografados com a versão da chave com que foram criados. Para restaurar um backup, a versão da chave usada para criptografá-lo precisa estar disponível no Cloud Key Management Service. Se você desativar ou destruir uma versão da chave, todos os backups criptografados com ela ficarão inacessíveis. Para garantir a capacidade de restauração dos seus backups, não desative nem destrua versões de chaves que ainda estão em uso por backups que você pode precisar restaurar.

Se o Backup e DR não puder acessar sua chave CMEK por qualquer motivo (por exemplo, se a versão da chave necessária para criptografia ou descriptografia estiver desativada ou destruída ou se as permissões do IAM na chave forem revogadas do agente de serviço do Backup e DR), você poderá ter os seguintes problemas:

  • Novos backups em backup vaults ativados para CMEK vão falhar se a versão da chave primária estiver inacessível.
  • As restaurações de cofres de backup vão falhar se a versão específica da chave usada para criptografar o backup estiver inacessível.
  • Não será possível criar novos cofres de backup que usam uma chave inacessível.

Se você desativou uma versão de chave usada para backups, a reativação dela restaura o acesso aos backups criptografados com essa versão. Se você destruir uma versão de chave, todos os backups criptografados com ela serão perdidos permanentemente e não poderão ser restaurados.

Preços

O Backup e DR não cobra taxas extras pelo uso da CMEK. No entanto, você recebe cobranças pelo uso das chaves no Cloud Key Management Service. Para mais informações, consulte Preços do Cloud Key Management Service.

A seguir