Usar chaves de criptografia gerenciadas pelo cliente (CMEK)

Ao usar chaves de criptografia gerenciadas pelo cliente (CMEK), você tem controle sobre suas chaves. Isso dá a você controle sobre 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. Em vez de o Google ser proprietário e gerente das chaves de criptografia de chaves (KEKs) simétricas que protegem seus dados, você controla e gerencia essas chaves no Cloud Key Management Service (KMS).

Antes de começar

  1. Verifique se você tem a função de administrador do Redis na sua conta de usuário.

    Acessar a página do IAM

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

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

  2. Copie ou anote o nome da chave (KEY_NAME), o local dela e o nome do keyring (KEY_RING). Você precisa dessas informações para conceder à conta de serviço o acesso à chave.

  3. Conceda à conta de serviço do Memorystore para Redis 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.

Crie um keyring e uma chave.

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

Depois de criar o keyring e a chave, copie ou anote o KEY_NAME, o local da chave e o KEY_RING. Você precisa dessas informações para conceder à conta de serviço o acesso à chave.

Conceda à conta de serviço do Memorystore para Redis acesso à chave

Antes de criar uma instância do Memorystore para Redis que use a CMEK, é necessário conceder a uma conta de serviço específica do Memorystore para Redis acesso à chave. Você pode conceder à conta de serviço acesso à chave usando o console Google Cloud ou a Google Cloud CLI.

Para conceder acesso à conta de serviço, use o seguinte formato:

service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com

Console

Você concede à conta de serviço acesso à chave como parte das etapas para criar uma instância do Memorystore para Redis que usa CMEK.

gcloud

Para conceder acesso à chave para a conta de serviço, use o comando gcloud kms keys add-iam-policy-binding.

gcloud kms keys add-iam-policy-binding KEY_NAME \
--location=REGION_ID \
--keyring=KEY_RING \
--member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Faça as seguintes substituições:

  • KEY_NAME: o nome da chave a que você está concedendo acesso à conta de serviço
  • REGION_ID: a região em que o keyring está localizado.
  • KEY_RING: o nome do keyring que contém a chave
  • PROJECT_NUMBER: o ID ou número do projeto que contém a conta de serviço

Criar uma instância do Memorystore para Redis que usa CMEK

É possível criar uma instância que usa a CMEK com o console Google Cloud ou a CLI gcloud.

Console

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

  2. Siga as instruções em Criar uma instância do Redis em uma rede VPC até chegar à etapa de ativação da CMEK. Depois, volte a estas instruções.

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

  4. Para selecionar sua chave, use o menu.

  5. Selecione as configurações restantes para a instância e clique em Criar.

gcloud

Para criar uma instância que usa o CMEK, use o comando gcloud redis instances create.

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

Faça as seguintes substituições:

  • INSTANCE_ID: o ID da instância que você está criando
  • SIZE: o tamanho da instância que você quer criar, em gibibytes (GiB)
  • REGION_ID: o ID da região em que você quer que a instância esteja localizada.
  • PROJECT_NAME: o nome do projeto em que você quer criar a instância
  • KEY_RING: o nome do keyring que contém a chave
  • KEY_NAME: o nome da chave;

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

É possível conferir informações importantes de uma instância ativada para CMEK usando o consoleGoogle Cloud ou a CLI gcloud. Essas informações incluem a chave ativa e se a CMEK está ativada para sua instância.

Console

  1. No console do Google Cloud , acesse a página Instâncias.

    Memorystore para Redis

  2. Clique no ID da instância.

  3. No painel à esquerda, clique na guia Segurança. A página Segurança contém um link para a chave ativa e mostra o caminho de referência da chave. Se essas informações não aparecerem, significa que você não ativou a CMEK para sua instância.

gcloud

Para verificar se a CMEK está ativada e conferir a referência da chave, use o comando gcloud redis instances describe para ver o campo customerManagedKey.

gcloud redis instances describe INSTANCE_ID \
--project=PROJECT_NAME \
--region=REGION_ID

Faça as seguintes substituições:

  • INSTANCE_ID: o ID da instância sobre a qual você quer ver informações
  • PROJECT_NAME: o nome do projeto que contém a instância
  • REGION_ID: o ID da região em que a instância está localizada.

Gerenciar versões da chave

Para saber o que acontece quando você desativa, destrói, alterna, ativa e restaura uma versão de chave, consulte Comportamento de uma versão de chave da CMEK.

Para instruções sobre como desativar e reativar versões de chave, consulte Ativar e desativar versões de chave.

Para instruções sobre como destruir e restaurar versões de chave, consulte Destruir e restaurar versões de chave.

A seguir