Use chaves de encriptação geridas pelo cliente (CMEK)

Ao usar chaves de encriptação geridas pelo cliente (CMEK), tem controlo sobre as suas chaves. Isto dá-lhe controlo sobre o respetivo nível de proteção, localização, programação de rotação, utilização e autorizações de acesso, bem como limites criptográficos. Em vez de a Google possuir e gerir as chaves de encriptação de chaves simétricas (KEKs) que protegem os seus dados, controla e gere estas chaves no Cloud Key Management Service (KMS).

Antes de começar

  1. Certifique-se de que tem a função de administrador do Redis na sua conta de utilizador.

    Aceda à página IAM

Fluxo de trabalho para criar um cluster que usa CMEK

  1. Crie um conjunto de chaves e uma chave na localização onde quer que o cluster no Memorystore for Redis Cluster esteja.

  2. Copie ou anote o nome da chave (KEY_NAME), a localização da chave e o nome do conjunto de chaves (KEY_RING). Precisa destas informações quando conceder à conta de serviço acesso à chave.

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

  4. Aceda a um projeto e crie um cluster no Memorystore for Redis Cluster com a CMEK ativada na mesma região que o conjunto de chaves e a chave.

O seu cluster está agora ativado com a CMEK.

Crie um conjunto de chaves e uma chave

Crie um conjunto de chaves e uma chave. Ambos têm de estar na mesma região que o cluster no Memorystore for Redis Cluster. A chave pode ser de um projeto diferente, desde que esteja na mesma região. Além disso, a chave tem de usar o algoritmo de encriptação simétrica.

Depois de criar o conjunto de chaves e a chave, copie ou anote o KEY_NAME, a localização da chave e o KEY_RING. Precisa destas informações quando concede à conta de serviço acesso à chave.

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

Antes de poder criar um cluster no Memorystore for Redis Cluster que use a CMEK, tem de conceder acesso à chave a uma conta de serviço específica do Memorystore for Redis Cluster.

Pode conceder à conta de serviço acesso à chave através da CLI gcloud. Para conceder acesso à conta de serviço, use o seguinte formato:

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

gcloud

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

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 o número do projeto que contém o conjunto de chaves
  • REGION_ID: a região onde o conjunto de chaves está localizado
  • KEY_RING: o nome do conjunto de chaves que contém a chave
  • KEY_NAME: o nome da chave à qual está a conceder acesso à conta de serviço
  • PROJECT_NUMBER: o ID ou o número do projeto que contém a conta de serviço

Crie um cluster que use CMEK

Pode criar um cluster que use a CMEK através da CLI gcloud.

gcloud

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

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 está a criar.
  • PROJECT_NAME: o nome do projeto onde quer criar o cluster.
  • REGION_ID: o ID da região onde quer que o cluster esteja localizado.
  • NETWORK_ID: o ID da rede que quer usar para criar o cluster.
  • KEY_RING: o nome do conjunto de chaves que contém a chave.
  • KEY_NAME: o nome da chave.
  • SHARD_NUMBER: o número de fragmentos que quer ter para o cluster.
  • PERSISTENCE_MODE: o modo de persistência do cluster. Pode definir este modo para um dos seguintes valores:
    • aof: ativa a persistência baseada em ficheiros apenas de anexação (AOF) para o cluster.
    • disabled: desativa a persistência para o cluster.
    • rdb: ativa a persistência baseada em base de dados Redis (RDB) para o cluster.

Veja informações essenciais para um cluster com a CMEK ativada

Pode ver informações sobre o seu cluster com a CMEK ativada através da CLI gcloud. Estas informações incluem se a CMEK está ativada para o seu cluster e a chave ativa.

gcloud

Para verificar se a CMEK está ativada e ver a referência da chave, use o comando gcloud redis clusters describe para ver 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 quer ver informações
  • PROJECT_NAME: o nome do projeto que contém o cluster
  • REGION_ID: o ID da região onde o cluster está localizado

Faça a gestão das versões das chaves

Para informações sobre o que acontece quando desativa, destrói, roda, ativa e restaura uma versão de chave, consulte o artigo Comportamento de uma versão de chave CMEK.

Para ver instruções sobre como desativar e reativar versões de chaves, consulte o artigo Ative e desative versões de chaves.

Para obter instruções sobre como destruir e restaurar versões de chaves, consulte o artigo Destrua e restaure versões de chaves.

O que se segue?