Usar claves de encriptado gestionadas por el cliente (CMEK)

En esta página se proporcionan instrucciones para crear una instancia de Memorystore para Redis que use claves de cifrado gestionadas por el cliente. También se proporcionan instrucciones para gestionar instancias que usan CMEK. Para obtener más información sobre las claves de cifrado gestionadas por el cliente de Memorystore, consulta el artículo Claves de cifrado gestionadas por el cliente.

Antes de empezar

  1. Asegúrate de que tu cuenta de usuario tenga el rol de administrador de Redis.

    Ir a la página de gestión de identidades y accesos

Flujo de trabajo para crear una instancia que use CMEK

  1. Crea un conjunto de claves y una clave en la ubicación en la que quieras que esté la instancia de Memorystore.

  2. Copia o anota el ID de la clave (KMS_KEY_ID), la ubicación de la clave y el ID (KMS_KEYRING_ID) del conjunto de claves. Necesitarás esta información para conceder acceso a la clave a la cuenta de servicio.

  3. Concede acceso a la clave a la cuenta de servicio de Memorystore.

  4. Ve a un proyecto y crea una instancia de Memorystore para Redis con CMEK habilitada en la misma región que el conjunto de claves y la clave.

Tu instancia de Memorystore para Redis ahora tiene habilitada la CMEK.

Crear una clave y un conjunto de claves

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 otro proyecto, siempre que esté en la misma región. Además, la clave debe usar el algoritmo de cifrado simétrico.

Conceder acceso a la clave a la cuenta de servicio

Para crear una instancia de Redis que use CMEK, primero debes conceder acceso a la clave a una cuenta de servicio de Memorystore específica. Concede acceso a la cuenta de servicio de Memorystore que usa el siguiente formato:

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

Consola

Cuando usas la consola, concedes acceso a la clave a la cuenta de servicio como parte de los pasos para crear una instancia de Redis que use CMEK.

gcloud

Para conceder acceso a la clave a la cuenta de servicio, ejecuta el siguiente comando y sustituye VARIABLES por los valores adecuados:

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Crear una instancia de Memorystore para Redis que use CMEK

Para crear una instancia con claves de cifrado gestionadas por el cliente, sigue estos pasos:

Consola

  1. Empieza por tener un llavero y una clave en la misma región en la que quieras crear tu instancia de Memorystore.

  2. Sigue las instrucciones de Crear una instancia de Redis en una red de VPC hasta que llegues al paso para habilitar una clave de cifrado gestionada por el cliente y, a continuación, vuelve a estas instrucciones.

  3. Selecciona Usar una clave de cifrado gestionada por el cliente (CMEK).

  4. Selecciona la clave en el menú desplegable.

  5. Si no se han concedido a la cuenta de servicio de Memorystore los permisos que necesita, aparecerá un cuadro de texto con el siguiente mensaje:

    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 Grant (Conceder) para conceder el permiso del rol a la cuenta de servicio de Memorystore.
  6. Termina de seleccionar las configuraciones que quieras para tu instancia y haz clic en el botón Crear para crear tu instancia de Memorystore para Redis con CMEK habilitada.

gcloud

Para crear una instancia que use claves de cifrado gestionadas por el cliente, introduce el siguiente comando y sustituye VARIABLES por los valores correspondientes:

gcloud redis instances create [INSTANCE_ID] \
--size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

Ver información de claves de una instancia habilitada para CMEK

Sigue estas instrucciones para comprobar si CMEK está habilitada en tu instancia y para ver la clave activa.

Consola

  1. En la consola de Google Cloud, ve a la página Instancias de Memorystore para Redis.

    Memorystore para Redis

  2. Para ver la página Detalles de la instancia de tu instancia, haz clic en el ID de instancia.

  3. Haz clic en la pestaña Seguridad.

  4. La sección Cifrado con una clave gestionada por el cliente contiene un enlace a la clave activa y muestra la ruta de referencia de la clave. Si no aparece esta sección, significa que CMEK no está habilitada en tu instancia.

gcloud

Para comprobar si CMEK está habilitado y ver la referencia de la clave, consulta el campo customerManagedKey ejecutando el siguiente comando:

gcloud redis instances describe INSTANCE_ID \
--project=PROJECT \
--region=REGION

Inhabilitar y volver a habilitar versiones de clave

Para obtener información sobre lo que ocurre cuando se inhabilita, habilita, destruye o vuelve a habilitar una versión de clave, consulta Comportamiento al destruir o inhabilitar 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 inhabilitar y volver a habilitar versiones de clave, consulta Destruir y restaurar versiones de clave.

Siguientes pasos