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
Verifique se você tem a função de administrador do Redis na sua conta de usuário.
Fluxo de trabalho para criar uma instância que usa CMEK
Crie um keyring e uma chave no local em que você quer que a instância do Memorystore para Redis esteja.
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.Conceda à conta de serviço do Memorystore para Redis acesso à chave.
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
Crie um keyring e uma chave na mesma região em que você quer criar a instância.
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.
Selecione Usar uma chave de criptografia gerenciada pelo cliente (CMEK).
Para selecionar sua chave, use o menu.
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
No console do Google Cloud , acesse a página Instâncias.
Clique no ID da instância.
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
- Saiba mais sobre o Redis AUTH.
- Saiba mais sobre a criptografia em trânsito.