Como usar chaves de criptografia gerenciadas pelo cliente (CMEK)

Nesta página, fornecemos instruções para criar uma instância do Memorystore para Redis que usa chaves de criptografia gerenciadas pelo cliente. Ele também fornece instruções para gerenciar instâncias que usam CMEK. Para mais informações sobre as chaves de criptografia gerenciadas pelo cliente para o Memorystore, consulte Chaves de criptografia gerenciadas pelo cliente.

Antes de começar

  1. Verifique se você tem o papel de administrador do Redis na sua conta de usuário.

    Acessar a página do IAM

Fluxo de trabalho para criar uma instância de instância que usa CMEK

  1. Crie um keyring e crie uma chave no local que você quer que a instância do Memorystore esteja.

  2. Copie ou anote o ID da chave (KMS_KEY_ID), o local da chave e o ID (KMS_KEYRING_ID) do keyring. Você precisa dessas informações ao conceder à conta de serviço acesso à chave.

  3. Conceda à conta de serviço do Memorystore acesso à chave.

  4. Acesse um projeto e crie uma instância do Memorystore para Redis com a CMEK ativada na mesma região do keyring e da chave.

Sua instância do Memorystore para Redis agora está ativada com CMEK.

Como criar uma chave e um keyring

Siga as instruções para criar um keyring e uma chave. Ambos precisam estar na mesma região da sua instância do Redis. A chave pode ser de um projeto diferente, desde que a chave esteja na mesma região. Além disso, a chave precisa usar o algoritmo de criptografia simétrica.

Como conceder à conta de serviço acesso à chave

Para criar uma instância do Redis que usa CMEK primeiro, é necessário conceder acesso à chave a uma conta de serviço específica do Memorystore. Conceda acesso à conta de serviço do Memorystore que usa o seguinte formato:

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

Console

Ao usar o console, você concede à conta de serviço acesso à chave como parte das etapas para criar uma instância do Redis que use CMEK.

gcloud

Para conceder à conta de serviço acesso à chave, execute o comando a seguir substituindo VARIABLES pelos valores apropriados:

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Como criar uma instância do Memorystore para Redis que usa CMEK

Para criar uma instância com chaves de criptografia gerenciadas pelo cliente:

Console

  1. Comece com um keyring e uma chave na mesma região em que você quer criar a instância do Memorystore.

  2. Siga as instruções em Como criar uma instância do Redis até chegar à etapa para ativar uma chave de criptografia gerenciada pelo cliente e volte a estas instruções.

  3. Selecione Usar uma chave de criptografia gerenciada pelo cliente (CMEK).

  4. Use o menu suspenso para selecionar a chave.

  5. Se a conta de serviço do Memorystore não receber as permissões de que precisa, uma caixa de texto será exibida com a mensagem:

    The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role. Verify the service account has permission to encrypt/decrypt with the selected key.

    • Clique no botão Conceda para conceder o papel do papel à conta de serviço do Memorystore.
  6. Termine de selecionar as configurações desejadas para a instância e clique no botão Criar para criar a instância do Memorystore para Redis ativada pela CMEK.

gcloud

Para criar uma instância que usa chaves de criptografia gerenciadas pelo cliente, insira o comando a seguir, substituindo VARIABLES pelos valores apropriados:

gcloud beta redis instances create [INSTANCE_ID] --size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

Como visualizar informações da chave em uma instância ativada para CMEK

Siga estas instruções para verificar se a CMEK está ativada na sua instância e para ver a chave ativa.

Console

  1. No Console do Google Cloud, acesse a página "Instâncias do Memorystore para Redis".

    Memorystore para Redis

  2. Veja a página Detalhes da instância clicando no ID da instância.

  3. Clique na guia Segurança.

  4. A seção Criptografia com uma chave gerenciada pelo cliente contém um link para a chave ativa e mostra o caminho da referência da chave. Se essa seção não aparecer, a CMEK não está ativada para sua instância.

gcloud

Para verificar se a CMEK está ativada e ver a referência de chave, veja o campo customerManagedKey executando o seguinte comando:

gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION

Como desativar e reativar versões de chave

Para informações sobre o que acontece quando você desativa, ativa, destrói ou reativa uma versão da chave, consulte Comportamento de destruição/desativação de uma versão da chave CMEK.

Para ver instruções sobre como desativar e reativar versões de chaves, consulte Como ativar e desativar versões de chaves.

Para instruções sobre como desativar e reativar versões de chaves, consulte Como destruir e restaurar versões de chaves.

A seguir