Usar claves de encriptación administradas por el cliente (CMEK)

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

  1. Asegúrate de tener el rol de administrador de Redis en tu cuenta de usuario.

    Ir a la página IAM

Flujo de trabajo para crear una instancia de instancia que usa CMEK

  1. Crea un llavero de claves y crea una clave en la ubicación en la que deseas que se encuentre la instancia de Memorystore.

  2. 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. Necesitas esta información para otorgar que la cuenta de servicio acceda a la clave.

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

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

Tu instancia de Memorystore para Redis ahora está habilitada con CMEK.

Crea una clave y un llavero

Sigue las instrucciones para crear un llavero de claves. y crea una clave. Ambos deben estar en la 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 otorgarle acceso a la clave a una cuenta de servicio de Memorystore específica. Otorgar acceso a la cuenta de servicio de Memorystore que usa los siguientes formato:

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

Console

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

gcloud

Para otorgarle acceso a la clave a la cuenta de servicio, ejecuta el siguiente comando y reemplaza 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

Crea una instancia de Memorystore para Redis que use CMEK

Para crear una instancia con claves de encriptación administradas por el cliente:

Console

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

  2. Sigue las instrucciones que se indican en Cómo crear una instancia de Redis hasta que llegues al paso para habilitar una clave de encriptación administrada por el cliente y, luego, vuelve a estas instrucciones.

  3. Selecciona Usar una clave de encriptación administrada por el cliente (CMEK).

  4. Usa el menú desplegable para seleccionar tu clave.

  5. 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 conceder el permiso del rol a la Cuenta de servicio de Memorystore.
  6. Termina de seleccionar los parámetros de configuración que desees para tu instancia y haz clic en el botón Crear para crear tu Memorystore para Redis con CMEK habilitadas instancia.

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 adecuados:

gcloud beta 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]

Visualiza la información de claves de una instancia con CMEK habilitadas

Sigue estas instrucciones para ver si las CMEK están habilitadas en tu instancia y para ver la clave activa.

Console

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

    Memorystore para Redis

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

  3. Haz clic en la pestaña Seguridad.

  4. 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á habilitada y ver la referencia de la clave, consulta el customerManagedKey con la ejecución del siguiente comando:

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

Inhabilita y vuelve a habilitar versiones de claves

Para obtener información acerca de lo que ocurre cuando inhabilitas, habilitas, destruyes o volver a habilitar una versión de clave; consulta Comportamiento de destrucción o inhabilitación de una versión de clave CMEK.

Si quieres obtener instrucciones para inhabilitar y volver a habilitar versiones de clave, consulta Habilita o inhabilita versiones de clave.

Si deseas obtener instrucciones para inhabilitar y volver a habilitar versiones de clave, consulta Destruye y restablece versiones de clave.

¿Qué sigue?