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 Memorystore 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 for Valkey 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 Valkey acesso à chave.
Aceda a um projeto e crie uma instância do Memorystore for Valkey com a CMEK ativada na mesma região que o conjunto de chaves e a chave.
A sua instância do Memorystore for Valkey 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 Valkey. 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 Valkey acesso à chave
Antes de poder criar uma instância do Memorystore for Valkey que use CMEK, tem de conceder a uma conta de serviço específica do Memorystore for Valkey acesso à chave.
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@gcp-sa-memorystore.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@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 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 uma instância do Memorystore for Valkey que use CMEK
Pode criar uma instância que use a CMEK através da CLI gcloud.
gcloud
Para criar uma instância que use 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 está a criar.
- PROJECT_NAME: o nome do projeto onde quer criar a instância.
- REGION_ID: o ID da região onde quer que a instância esteja localizada.
- NETWORK_ID: o ID da rede que quer usar para criar a instância.
- 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 a instância.
- PERSISTENCE_CONFIG_MODE: o modo de persistência da instância.
Pode definir este modo para um dos seguintes valores:
aof: ativa a persistência baseada em ficheiros apenas de anexação (AOF) para a instância.disabled: desativa a persistência para a instância.rdb: ativa a persistência baseada na base de dados Redis (RDB) para a instância.
Veja informações importantes para uma instância com CMEK ativada
Pode ver informações sobre a sua instância com CMEK ativado através da CLI gcloud. Estas informações incluem se a CMEK está ativada para a sua instância e a chave ativa.
gcloud
Para verificar se a CMEK está ativada e ver 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 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 sobre as cópias de segurança.
- Saiba mais acerca da persistência.