Usar chaves de criptografia gerenciadas pelo cliente (CMEK)

Ao usar chaves de criptografia gerenciadas pelo cliente (CMEK), você tem controle sobre suas chaves. Isso permite 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. Em vez de o Google ser proprietário e gerente das chaves de criptografia de chaves (KEKs, na sigla em inglês) 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 o papel de administrador do Redis role na sua conta de usuário.

    Acessar a página do IAM

Fluxo de trabalho para criar um cluster que usa a CMEK

  1. Crie um keyring e uma chave no local em que você quer que o cluster no Memorystore for Redis Cluster 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 o acesso de chave à conta de serviço.

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

  4. Acesse um projeto e crie um cluster no Memorystore para Redis Cluster com a CMEK ativada na mesma região do keyring e da chave.

Seu cluster agora está ativado com a CMEK.

Criar um keyring e uma chave

Crie um keyring e uma chave. Os dois precisam estar na mesma região que o cluster no Memorystore para Redis Cluster. 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 o acesso de chave à conta de serviço.

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

Antes de criar um cluster no Memorystore para Redis Cluster que usa a CMEK, você precisa conceder acesso de chave a uma conta de serviço específica do Memorystore para Redis Cluster.

É possível conceder o acesso de chave à conta de serviço usando a CLI gcloud. Para conceder acesso à conta de serviço, use o seguinte formato:

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

gcloud

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

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

Faça as seguintes substituições:

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

Criar um cluster que usa a CMEK

É possível criar um cluster que usa a CMEK usando a CLI gcloud.

gcloud

Para criar um cluster que usa a CMEK, use o gcloud redis clusters create comando.

gcloud redis clusters create CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID \
--network=NETWORK_ID \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-mode=PERSISTENCE_MODE

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster que você está criando.
  • PROJECT_NAME: o nome do projeto em que você quer criar o cluster.
  • REGION_ID: o ID da região em que você quer que o cluster esteja localizado.
  • NETWORK_ID: o ID da rede que você quer usar para criar o cluster.
  • KEY_RING: o nome do keyring que contém a chave.
  • KEY_NAME: o nome da chave.
  • SHARD_NUMBER: o número de fragmentos que você quer ter para o cluster.
  • PERSISTENCE_MODE: o modo de persistência do cluster. É possível definir esse modo como um dos seguintes valores:
    • aof: você ativa a persistência baseada em arquivo somente de acréscimo (AOF) para o cluster.
    • disabled: você desativa a persistência do cluster.
    • rdb: você ativa a persistência baseada no Redis Database (RDB) para o cluster.

Visualizar informações da chave de um cluster ativado para CMEK

É possível visualizar informações sobre o cluster ativado para CMEK usando a CLI gcloud. Essas informações incluem se a CMEK está ativada para o cluster e a chave ativa.

gcloud

Para verificar se a CMEK está ativada e conferir a referência da chave, use o gcloud redis clusters describe comando para visualizar os campos encryptionInfo e kmsKey.

gcloud redis clusters describe CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster sobre o qual você quer visualizar informações
  • PROJECT_NAME: o nome do projeto que contém o cluster
  • REGION_ID: o ID da região em que o cluster está localizado

Gerenciar versões de chave

Para informações sobre o que acontece quando você desativa, destrói, gira, 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