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
Certifique-se de que tem a função de administrador do Redis na sua conta de utilizador.
Fluxo de trabalho para criar uma instância que usa CMEK
Crie um conjunto de chaves e uma chave na localização onde quer que a instância do Memorystore para Redis esteja.
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.Conceda à conta de serviço do Memorystore for Redis acesso à chave.
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
Certifique-se de que cria um conjunto de chaves e uma chave na mesma região onde quer criar a sua instância.
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.
Selecione Usar uma chave de encriptação gerida pelo cliente (CMEK).
Para selecionar a chave, use o menu.
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
Na Google Cloud consola, aceda à página Instâncias.
Clique no ID da sua instância.
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?
- Saiba mais acerca da AUTH do Redis.
- Saiba mais acerca da encriptação em trânsito.