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 que tu cuenta de usuario tenga el rol de administrador de Redis.
Flujo de trabajo para crear un clúster que use CMEK
Crea un conjunto de claves y una clave en la ubicación en la que quieras que esté el clúster de Memorystore for Redis Cluster.
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 Redis Cluster.
Ve a un proyecto y crea un clúster en Memorystore para Redis Cluster con la CMEK habilitada en la misma región que el conjunto de claves y la clave.
Tu clúster ahora tiene habilitada la 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 clúster en Memorystore for Redis Cluster. 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 acceso a la clave a la cuenta de servicio de Memorystore for Redis Cluster
Para poder crear un clúster en Memorystore for Redis Cluster que use CMEK, debes conceder acceso a la clave a una cuenta de servicio específica de Memorystore for Redis Cluster.
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@cloud-redis.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@cloud-redis.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 un clúster que use CMEK
Puedes crear un clúster que use CMEK con la CLI de gcloud.
gcloud
Para crear un clúster que use CMEK, usa el comando gcloud redis clusters create.
gcloud redis clusters create CLUSTER_ID \ --project=PROJECT_NAME \ --region=REGION_ID \ --network=NETWORK_ID \ --kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \ --shard-count=SHARD_NUMBER \ --persistence-mode=PERSISTENCE_MODE
Haz las siguientes sustituciones:
- CLUSTER_ID: el ID del clúster que vas a crear.
- PROJECT_NAME: el nombre del proyecto en el que quieras crear el clúster.
- REGION_ID: el ID de la región en la que quieres que se encuentre el clúster.
- NETWORK_ID: el ID de la red que quiere usar para crear el clúster.
- 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 el clúster.
- PERSISTENCE_MODE: el modo de persistencia del clúster. Puedes definir este modo con uno de los siguientes valores:
aof: habilitas la persistencia basada en archivos de solo anexión (AOF) en el clúster.disabled: desactiva la persistencia del clúster.rdb: habilitas la persistencia basada en la base de datos de Redis (RDB) en el clúster.
Ver información clave de un clúster con CMEK habilitada
Para ver información sobre tu clúster con CMEK habilitado, usa la gcloud CLI. Esta información incluye si la CMEK está habilitada en tu clúster y la clave activa.
gcloud
Para verificar si CMEK está habilitada y ver la referencia de la clave, usa el comando
gcloud redis clusters describe
para ver los campos encryptionInfo y kmsKey.
gcloud redis clusters describe CLUSTER_ID \ --project=PROJECT_NAME \ --region=REGION_ID
Haz las siguientes sustituciones:
- CLUSTER_ID: el ID del clúster sobre el que quiere ver información
- PROJECT_NAME: el nombre del proyecto que contiene el clúster
- REGION_ID: el ID de la región en la que se encuentra el clúster
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.