Si usas claves de cifrado gestionadas por el cliente (CMEK), tendrás control sobre tus claves. De esta forma, puedes controlar el nivel de protección, la ubicación, el calendario de rotación, los permisos de uso y acceso, y los límites criptográficos. En lugar de que Google sea el propietario y el gestor de las claves de encriptado simétricas (KEKs) que protegen tus datos, tú controlas y gestionas estas claves en Cloud Key Management Service (KMS).
Antes de empezar
Asegúrate de tener el rol de administrador de Memorystore en tu cuenta de usuario.
Flujo de trabajo para crear una instancia que use CMEK
Crea un conjunto de claves y una clave en la ubicación en la que quieras que esté la instancia de Memorystore para Valkey.
Copia o anota el nombre de la clave (
KEY_NAME), la ubicación de la clave y el nombre del conjunto de claves (KEY_RING). Necesitarás esta información para conceder acceso a la clave a la cuenta de servicio.Concede acceso a la clave a la cuenta de servicio de Memorystore for Valkey.
Ve a un proyecto y crea una instancia de Memorystore para Valkey con CMEK habilitada en la misma región que el conjunto de claves y la clave.
Tu instancia de Memorystore for Valkey ahora tiene habilitada la función de claves de cifrado gestionadas por el cliente (CMEK).
Crear un conjunto de claves y una clave
Crea un conjunto de claves y una clave. Ambos deben estar en la misma región que tu instancia de Memorystore for Valkey. La clave puede ser de otro proyecto, siempre que esté en la misma región. Además, la clave debe usar el algoritmo de cifrado simétrico.
Después de crear el conjunto de claves y la clave, copia o anota el KEY_NAME, la ubicación de la clave y el KEY_RING. Necesitarás esta información cuando concedas acceso a la clave a la cuenta de servicio.
Concede a la cuenta de servicio de Memorystore para Valkey acceso a la clave
Para crear una instancia de Memorystore for Valkey que use CMEK, debes conceder acceso a la clave a una cuenta de servicio específica de Memorystore for Valkey.
Puedes conceder acceso a la clave a la cuenta de servicio mediante la CLI de gcloud. Para conceder acceso a la cuenta de servicio, usa el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
gcloud
Para conceder acceso a la clave a la cuenta de servicio, usa el 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
Haz las siguientes sustituciones:
- PROJECT_ID: el ID o el número del proyecto que contiene el conjunto de claves
- REGION_ID: la región en la que se encuentra el conjunto de claves
- KEY_RING: el nombre del conjunto de claves que contiene la clave
- KEY_NAME: el nombre de la clave a la que quieres dar acceso a la cuenta de servicio
- PROJECT_NUMBER: el ID o el número del proyecto que contiene la cuenta de servicio
Crear una instancia de Memorystore for Valkey que use CMEK
Puedes crear una instancia que use CMEK con la CLI de gcloud.
gcloud
Para crear una instancia que use CMEK, usa el 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
Haz las siguientes sustituciones:
- INSTANCE_ID: el ID de la instancia que vas a crear.
- PROJECT_NAME: el nombre del proyecto en el que quieres crear la instancia.
- REGION_ID: el ID de la región en la que quieres que se encuentre la instancia.
- NETWORK_ID: el ID de la red que quieres usar para crear la instancia.
- KEY_RING: el nombre del conjunto de claves que contiene la clave.
- KEY_NAME: el nombre de la clave.
- SHARD_NUMBER: el número de particiones que quieres que tenga la instancia.
- PERSISTENCE_CONFIG_MODE: el modo de persistencia de la instancia.
Puedes definir este modo con uno de los siguientes valores:
aof: habilita la persistencia basada en archivos de solo anexión (AOF) en la instancia.disabled: desactiva la persistencia de la instancia.rdb: habilitas la persistencia basada en la base de datos Redis (RDB) para la instancia.
Ver información clave de una instancia habilitada para CMEK
Para ver información sobre tu instancia habilitada para CMEK, usa la gcloud CLI. Esta información incluye si la CMEK está habilitada en tu instancia y la clave activa.
gcloud
Para verificar si CMEK está habilitada y ver la referencia de la clave, usa el comando
gcloud memorystore instances describe
para ver los campos encryptionInfo y kmsKey.
gcloud memorystore instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --location=REGION_ID
Haz las siguientes sustituciones:
- INSTANCE_ID: el ID de la instancia sobre la que quieres ver información
- PROJECT_NAME: el nombre del proyecto que contiene la instancia
- REGION_ID: el ID de la región en la que se encuentra la instancia.
Gestionar versiones de clave
Para obtener información sobre lo que ocurre cuando se inhabilita, destruye, rota, habilita y restaura una versión de una clave, consulta Comportamiento de una versión de clave de cifrado gestionada por el cliente.
Para obtener instrucciones sobre cómo inhabilitar y volver a habilitar versiones de clave, consulta Habilitar e inhabilitar versiones de clave.
Para obtener instrucciones sobre cómo destruir y restaurar versiones de clave, consulta Destruir y restaurar versiones de clave.
Siguientes pasos
- Más información sobre las copias de seguridad
- Consulta más información sobre la persistencia.