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 uma instância que usa CMEK

  1. Crie um conjunto de chaves e uma chave na localização onde quer que a instância do Memorystore para Redis 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 acesso à chave.

  4. Aceda a um projeto e crie uma instância do Memorystore para Redis com a CMEK ativada na mesma região que o conjunto de chaves e a chave.

A sua instância do Memorystore for Redis está agora ativada 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 a instância do Memorystore for Redis. 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 acesso à chave

Antes de poder criar uma instância do Memorystore for Redis que use a CMEK, tem de conceder a uma conta de serviço específica do Memorystore for Redis acesso à chave. Pode conceder à conta de serviço acesso à chave através da Google Cloud consola ou da CLI do Google Cloud.

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

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

Consola

Concede à conta de serviço acesso à chave como parte dos passos para criar uma instância do Memorystore para Redis que use CMEK.

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 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 à qual está a conceder acesso à conta de serviço
  • 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
  • PROJECT_NUMBER: o ID ou o número do projeto que contém a conta de serviço

Crie uma instância do Memorystore for Redis que use CMEK

Pode criar uma instância que use CMEK através da Google Cloud consola ou da CLI gcloud.

Consola

  1. Certifique-se de que cria um conjunto de chaves e uma chave na mesma região onde quer criar a sua instância.

  2. Siga as instruções em Crie uma instância do Redis numa rede VPC até chegar ao passo para ativar as CMEK. Em seguida, regresse a estas instruções.

  3. Selecione Usar uma chave de encriptação gerida pelo cliente (CMEK).

  4. Para selecionar a chave, use o menu.

  5. Selecione as restantes configurações da instância e, de seguida, clique em Criar.

gcloud

Para criar uma instância que use 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 está a criar
  • SIZE: o tamanho da instância que quer criar, em gibibytes (GiB)
  • REGION_ID: o ID da região onde quer que a instância esteja localizada
  • PROJECT_NAME: o nome do projeto onde quer criar a instância
  • KEY_RING: o nome do conjunto de chaves que contém a chave
  • KEY_NAME: o nome da chave

Veja informações importantes para uma instância com CMEK ativada

Pode ver informações importantes de uma instância com CMEK através daGoogle Cloud consola ou da CLI gcloud. Estas informações incluem a chave ativa e se o CMEK está ativado para a sua instância.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias.

    Memorystore for Redis

  2. Clique no ID da sua instância.

  3. No painel do lado esquerdo, clique no separador 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 estas informações não forem apresentadas, significa que não ativou a CMEK para a sua instância.

gcloud

Para verificar se as CMEK estão ativadas e ver 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 quer ver informações
  • PROJECT_NAME: o nome do projeto que contém a instância
  • REGION_ID: o ID da região onde a instância está localizada

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?