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

As chaves de criptografia gerenciadas pelo cliente (CMEK) permitem proteger seus dados do serviço 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 vão ficar inacessíveis.

O serviço de backup e DR usa a CMEK para proteger os dados de backup armazenados em vaults de backup.

Só é possível configurar a CMEK em um backup vault ao criá-lo. Não é possível ativar ou desativar a CMEK em um cofre de backup atual.

Para mais informações sobre a CMEK em geral, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

Permissões necessárias para usar a CMEK

Antes de começar a usar a CMEK, você precisa:

  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 criada, crie a identidade do agente de serviço do serviço de Backup e DR. O agente de serviço é criado automaticamente depois que o primeiro backup vault é 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.

Quando você ativa a CMEK para um backup vault, o serviço de Backup e DR precisa de permissão para usar sua chave CMEK para criptografar e descriptografar dados. Essa permissão precisa ser concedida ao agente de serviço do serviço de Backup e DR.

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

  • Agente de serviço do serviço de Backup e DR: é uma conta de serviço para envolvidos no projeto usada para gerenciar recursos do serviço de Backup e DR e para acessar chaves do Cloud Key Management Service quando a CMEK está ativada em um backup vault. Esse é o agente de serviço que requer a função roles/cloudkms.cryptoKeyEncrypterDecrypter na chave CMEK.
  • Conta de serviço do backup vault: é uma conta de serviço exclusiva por vault 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 backup vault.

Para usar a CMEK com o serviço de backup e DR, conceda o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) ao agente de serviço do serviço de backup e DR. Esse agente de serviço é uma conta de serviço que o serviço de Backup e 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 do 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 backup vault.

É possível conceder esse papel no momento da criação do backup vault 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

Permissões 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 a função 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 seja operacional.

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

Os backups do serviço de Backup e DR dependem da disponibilidade da chave de serviço do Cloud Key Management Service. O serviço de Backup e DR talvez não consiga acessar os recursos protegidos por essa chave.

Se o serviço de Backup e DR não conseguir acessar sua chave CMEK:

  • Novos backups para o backup vault ativado para CMEK falham.
  • As restaurações do cofre de backup ativado para CMEK falham.
  • Não é possível criar novos cofres de backup que usam a chave indisponível.

Se você desativou uma chave usada para backups, a reativação dela restaura o acesso aos dados de backup. Se você destruiu uma versão da chave, todos os backups criptografados com ela serão perdidos permanentemente.

Preços

O serviço de 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.