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 Memorystore 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 Valkey 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 Valkey acesso à chave.
Acesse um projeto e crie uma instância do Memorystore para Valkey com a CMEK ativada na mesma região do keyring e da chave.
Sua instância do Memorystore para Valkey agora está ativada com a CMEK.
Crie um keyring e uma chave.
Crie um keyring e uma chave. Ambos precisam estar na mesma região que a instância do Memorystore para Valkey. 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 Valkey acesso à chave
Antes de criar uma instância do Memorystore para Valkey que use a CMEK, é necessário conceder a uma conta de serviço específica do Memorystore para Valkey acesso à chave.
É possível conceder acesso à chave para a conta de serviço usando a CLI gcloud. Para conceder acesso à conta de serviço, use o seguinte formato:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
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 \ projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.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 keyring
- 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 uma instância do Memorystore para Valkey que usa CMEK
É possível criar uma instância que usa CMEK usando a gcloud CLI.
gcloud
Para criar uma instância que usa o CMEK, use o comando gcloud memorystore instances create.
gcloud memorystore instances create INSTANCE_ID \
--project=PROJECT_NAME \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_NAME/global/networks/NETWORK_ID", "projectId": "PROJECT_NAME"}}]}]' \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-config-mode=PERSISTENCE_CONFIG_MODE
Faça as seguintes substituições:
- INSTANCE_ID: o ID da instância que você está criando.
- PROJECT_NAME: o nome do projeto em que você quer criar a instância.
- REGION_ID: o ID da região em que você quer que a instância esteja localizada.
- NETWORK_ID: o ID da rede que você quer usar para criar a instância.
- 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 a instância.
- PERSISTENCE_CONFIG_MODE: o modo de persistência da instância.
Você pode definir esse modo como um dos seguintes valores:
aof: você ativa a persistência baseada em arquivo somente de anexação (AOF) para a instância.disabled: você desativa a persistência da instância.rdb: você ativa a persistência baseada em banco de dados do Redis (RDB) para a instância.
Visualizar informações da chave em uma instância ativada para CMEK
É possível conferir informações sobre sua instância ativada para CMEK usando a gcloud CLI. Essas informações incluem se a CMEK está ativada para sua instância e a chave ativa.
gcloud
Para verificar se a CMEK está ativada e conferir a referência da chave, use o
comando gcloud memorystore instances describe
para ver os campos encryptionInfo e kmsKey.
gcloud memorystore instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --location=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 backups.
- Saiba mais sobre persistência.