Usar claves de encriptación administradas por el cliente (CMEK)
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se proporcionan instrucciones para crear una instancia de Memorystore para Redis que use claves de encriptación administradas por el cliente. También proporciona instrucciones para administrar instancias que usan CMEK. Para obtener más información sobre las claves de encriptación administradas por el cliente para Memorystore, consulta Claves de encriptación administradas por el cliente.
Antes de comenzar
Asegúrate de tener el rol de administrador de Redis en tu cuenta de usuario.
Copia o escribe el ID de la clave (KMS_KEY_ID), la ubicación de la clave y el ID (KMS_KEYRING_ID) del llavero de claves. Necesitarás esta información cuando le otorgues a la cuenta de servicio acceso a la clave.
Tu instancia de Memorystore para Redis ahora está habilitada con CMEK.
Cómo crear una clave y un llavero
Sigue las instrucciones para crear un llavero y crear una clave. Ambos deben estar en la misma región que tu instancia de Redis. La clave puede ser de un proyecto diferente, siempre que esté en la misma región. Además, la clave debe usar el algoritmo de encriptación simétrica.
Otorga a la cuenta de servicio acceso a la clave
Para crear una instancia de Redis que use CMEK, primero debes otorgar acceso a la clave a una cuenta de servicio de
Memorystore específica. Otorga acceso a la cuenta de servicio de Memorystore que usa el siguiente formato:
Sigue las instrucciones de Cómo crear una instancia de Redis en una red de VPC hasta que llegues al paso para habilitar una clave de encriptación administrada por el cliente y, luego, vuelve a estas instrucciones.
Selecciona Usar una clave de encriptación administrada por el cliente (CMEK).
Usa el menú desplegable para seleccionar tu clave.
Si no se le otorgaron los permisos necesarios a la cuenta de servicio de
Memorystore, aparecerá un cuadro de texto que dirá lo siguiente:
The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service
account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role.
Verify the service account has permission to encrypt/decrypt with the
selected key.
Haz clic en el botón Otorgar para otorgar el permiso de rol a la
cuenta de servicio de Memorystore.
Termina de seleccionar las configuraciones que desees para tu instancia y haz clic en el botón Crear para crear tu instancia de Memorystore para Redis habilitada para CMEK.
gcloud
Para crear una instancia que use claves de encriptación administradas por el cliente, ingresa el siguiente comando y reemplaza VARIABLES por los valores apropiados:
Haz clic en el ID de la instancia para ver la página Detalles de la instancia.
Haz clic en la pestaña Seguridad.
La sección Encriptación con una clave administrada por el cliente contiene un vínculo a la clave activa y muestra la ruta de acceso de referencia de la clave. Si no aparece esta sección, significa que las CMEK no están habilitadas para tu instancia.
gcloud
Para verificar si CMEK está habilitado y ver la referencia de clave, ejecuta el siguiente comando para ver el campo customerManagedKey:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-05 (UTC)"],[],[],null,["# Use customer-managed encryption keys (CMEK)\n\nThis page provides instructions for creating a Memorystore for Redis instance\nthat uses customer-managed encryption keys. It also provides instructions for\nmanaging instances that use CMEK. For more information about customer-managed\nencryption keys for Memorystore, see [Customer-managed encryption keys](/memorystore/docs/redis/cmek).\n| **Note:** You cannot enable CMEK on existing Memorystore for Redis instances.\n\nBefore you begin\n----------------\n\n1. Make sure you have the Redis Admin [role](/memorystore/docs/redis/access-control)\n on your user account.\n\n [Go to the IAM page](https://console.cloud.google.com/iam-admin/iam)\n\nWorkflow to create an instance that uses CMEK\n---------------------------------------------\n\n1. [Create a keyring](/kms/docs/creating-keys#create_a_key_ring) and\n [create a key](/kms/docs/creating-keys#create_a_key)\n in the location where you want the Memorystore instance to be.\n\n2. Copy or write down the key ID (KMS_KEY_ID), the location of the key, and the\n ID (KMS_KEYRING_ID) for the keyring. You need this information when granting\n the service account access to the key.\n\n3. [Grant the Memorystore service account access to the key](/memorystore/docs/redis/configure-cmek#granting_the_service_account_access_to_the_key).\n\n4. Go to a project and [create a Memorystore for Redis instance with CMEK enabled](#creating_a_memorystore_for_redis_instance_that_uses_cmek)\n in the same region as the keyring and key.\n\nYour Memorystore for Redis instance is now enabled with CMEK.\n\nCreating a key and keyring\n--------------------------\n\nFollow instructions to [create a keyring](/kms/docs/creating-keys#create_a_key_ring)\nand [create a key](/kms/docs/creating-keys#create_a_key). Both must be in the\nsame region as your Redis instance. The key can be from a different project, as\nlong as the key is in the same region. Also, the key must use the [symmetric encryption algorithn](/kms/docs/algorithms#symmetric_encryption_algorithms).\n\nGranting the service account access to the key\n----------------------------------------------\n\nIn order to create a Redis instance that uses CMEK first you must grant a\nspecific Memorystore service account access to the key. Grant\naccess to the Memorystore service account that uses the following\nformat:\n\n`service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com` \n\n### Console\n\nWhen using the console, you grant the service account access to the key as\npart of the steps for [creating a redis instance that uses CMEK](/memorystore/docs/redis/configure-cmek#creating_a_memorystore_for_redis_instance_that_uses_cmek).\n\n### gcloud\n\nTo grant the service account access to the key, run the following command\nreplacing \u003cvar translate=\"no\"\u003eVARIABLES\u003c/var\u003e with appropriate values: \n\n```\ngcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \\\n--location=[REGION_ID] \\\n--keyring=[KMS_KEYRING_ID] \\\n--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \\\n--role=roles/cloudkms.cryptoKeyEncrypterDecrypter\n```\n\nCreating a Memorystore for Redis instance that uses CMEK\n--------------------------------------------------------\n\n| **Note:** You can't enable customer-managed encryption keys on existing instances.\n\nTo create an instance with customer-managed encryption keys: \n\n### Console\n\n1. Begin by [having a keyring and key](/memorystore/docs/redis/configure-cmek#creating_a_key_and_keyring)\n in the same region where you want to create your Memorystore instance.\n\n2. Follow the instructions at [Creating a Redis instance on a VPC network](/memorystore/docs/redis/create-manage-instances#creating_a_redis_instance_on_a_vpc_network)\n until you reach the step for enabling a customer-managed encryption key,\n then return to these instructions.\n\n3. Select **Use a customer-managed encryption key (CMEK)**.\n\n4. Use the dropdown menu to select your key.\n\n5. If the Memorystore service account has not been granted the\n permissions it needs, a text box appears saying:\n\n `The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service\n account does not have the \"cloudkms.cryptoKeyEncrypterDecrypter\" role.\n Verify the service account has permission to encrypt/decrypt with the\n selected key.`\n - Click the **Grant** button to grant the role permission to the Memorystore service account.\n6. Finish selecting your desired configurations for your instance, and click\n the **Create** button to create your CMEK enabled Memorystore for Redis\n instance.\n\n### gcloud\n\nTo create an instance that uses customer-managed encryption keys enter the\nfollowing command, replacing \u003cvar translate=\"no\"\u003eVARIABLES\u003c/var\u003e with appropriate values: \n\n```\ngcloud redis instances create [INSTANCE_ID] \\\n--size=[SIZE] \\\n--region=[REGION_ID] \\\n--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]\n```\n\nViewing key information for a CMEK-enabled instance\n---------------------------------------------------\n\nFollow these instructions to see if CMEK is enabled for your instance, and to\nview the active key. \n\n### Console\n\n1. In the Google Cloud Console, go to the Memorystore for Redis Instances page.\n\n [Memorystore for Redis](https://console.cloud.google.com/memorystore/redis/instances?)\n2. View the *Instance details* page for your instance by clicking your\n *Instance ID*.\n\n3. Click the **Security** tab.\n\n4. The **Encryption with a customer managed key** section contains a link to the\n active key, and shows the key reference path. If this section does not appear,\n CMEK is not enabled for your instance.\n\n### gcloud\n\nTo verify if CMEK is enabled, and to see the key reference, view the\n`customerManagedKey` field by running the following command: \n\n```\ngcloud redis instances describe INSTANCE_ID \\\n--project=PROJECT \\\n--region=REGION\n```\n\nDisabling and re-enabling key versions\n--------------------------------------\n\nFor information about what happens when you disable, enable, destroy, or\nre-enable a key version, see [Behavior of destroying/disabling a CMEK key version](/memorystore/docs/redis/cmek#behavior_of_destroyingdisabling_a_cmek_key_version).\n\nFor instructions on how to disable and re-enable key versions, see [Enabling and disabling key versions](/kms/docs/enable-disable).\n\nFor instructions on how to disable and re-enable key versions, see [Destroying and restoring key versions](/kms/docs/destroy-restore).\n\nWhat's next\n-----------\n\n- Learn more about [Redis AUTH](/memorystore/docs/redis/auth-overview).\n- Learn more about [In-transit encryption](/memorystore/docs/redis/in-transit-encryption)."]]