Claves de encriptación administradas por el cliente para Lustre administrado

De forma predeterminada, Google Cloud Managed Lustre encripta el contenido del cliente almacenado en reposo. Managed Lustre controla la encriptación por ti sin que debas realizar ninguna acción adicional. Esta opción se denomina encriptación predeterminada de Google.

Si deseas controlar tus claves de encriptación, puedes usar las claves de encriptación administradas por el cliente (CMEK) en Cloud KMS con servicios integrados en CMEK, incluido Managed Lustre. El uso de claves de Cloud KMS te permite controlar su nivel de protección, ubicación, programa de rotación, permisos de uso y acceso, y límites criptográficos. El uso de Cloud KMS también te permite hacer un seguimiento del uso de las claves, ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google posea y administre las claves de encriptación de claves (KEK) simétricas que protegen tus datos, tú las controlas y administras en Cloud KMS.

Después de configurar tus recursos con CMEK, la experiencia de acceso a tus recursos de Managed Lustre es similar a usar la encriptación predeterminada de Google. Para obtener más información sobre tus opciones de encriptación, consulta Claves de encriptación administradas por el cliente (CMEK).

Los siguientes datos de Managed Lustre están protegidos por CMEK:

  • Datos de archivos
  • Metadatos del sistema de archivos, como los nombres de archivo

Cuando usas CMEK en Managed Lustre, tus proyectos pueden consumir cuotas de solicitudes criptográficas de Cloud KMS. Las instancias encriptadas con CMEK consumen cuotas cuando se leen o escriben datos en Managed Lustre. Las operaciones de encriptación y desencriptación con claves CMEK afectan las cuotas de Cloud KMS solo si usas claves de hardware (Cloud HSM) o externas (Cloud EKM). Para obtener más información, consulta Cuotas de Cloud KMS.

Limitaciones

Se aplica la siguiente limitación:

  • El aprovisionamiento dinámico de instancias de Managed Lustre protegidas con CMEK no se admite en Google Kubernetes Engine, pero sí se admite el aprovisionamiento estático.

  • Cuando creas una instancia de Managed Lustre protegida por CMEK dentro de un perímetro de Controles del servicio de VPC, tu clave de Cloud KMS debe ser una de las siguientes:

Crea una clave de Cloud KMS

Antes de crear una instancia de Lustre habilitada para CMEK, debes tener un llavero de claves de Cloud KMS y una clave de Cloud KMS.

Managed Lustre admite tres niveles de protección:

  • Software (SOFTWARE)
  • Hardware (HSM)
  • Externo a través de Internet (EXTERNAL)

Cuando crees tu clave de Cloud KMS, te recomendamos que lo hagas en un proyecto diferente del que contiene tu instancia de Managed Lustre. Consulta Separación de obligaciones.

La clave de Cloud KMS debe crearse en la misma región que la instancia de Managed Lustre que estás creando.

Para crear una clave, sigue estos pasos:

  1. Si aún no tienes uno, crea un llavero de claves.
  2. Crea una clave de Cloud KMS

Otorga permisos de IAM al agente de servicio de Managed Lustre

Managed Lustre usa un agente de servicio para acceder a tus recursos y realizar acciones en tu nombre. Para usar CMEK, debes otorgar al agente de servicio el rol de IAM roles/cloudkms.cryptoKeyEncrypterDecrypter en tu clave de Cloud KMS.

Usuarios de la consola deGoogle Cloud

Si crearás tu instancia de Managed Lustre protegida por CMEK con la consola de Google Cloud , puedes omitir esta sección. La consola de Google Cloud otorga los permisos necesarios como parte del flujo de creación de la instancia.

Ve a Crea una instancia de Managed Lustre habilitada para CMEK.

Si no conoces la identidad del agente de servicio de tu proyecto, consulta Crea o recupera la identidad del agente de servicio.

Otorga permisos al agente de servicio

Para otorgar el rol al agente de servicio, usa el comando gcloud kms keys add-iam-policy-binding:

gcloud kms keys add-iam-policy-binding KEY_NAME \
  --keyring=KEY_RING \
  --location=REGION \
  --project=KMS_PROJECT_ID \
  --member=serviceAccount:SERVICE_AGENT_IDENTITY \
  --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Reemplaza las siguientes variables:

  • KEY_NAME: Es el nombre de tu clave de Cloud KMS.
  • KEY_RING: Es el nombre del llavero de claves que contiene la clave.
  • REGION: Es la región en la que se encuentra el llavero de claves.
  • KMS_PROJECT_ID: Es el ID del proyecto que contiene tu clave de Cloud KMS.
  • SERVICE_AGENT_IDENTITY: Es la identidad del agente de servicio de Managed Lustre (service-<var>PROJECT_NUMBER</var>@gcp-sa-lustre.iam.gserviceaccount.com).

Crea una instancia de Managed Lustre habilitada para CMEK

Para crear una instancia de Managed Lustre protegida por CMEK, usa una de las siguientes interfaces. Para configurar CMEK en un plano de Cluster Toolkit, consulta Usa claves de encriptación administradas por el cliente (CMEK) en la documentación de Cluster Toolkit.

gcloud

Para crear una instancia protegida con CMEK con gcloud, sigue los pasos que se indican en Crea una instancia. Especifica el identificador de clave como el valor de --kms-key-name, como se muestra a continuación:

gcloud lustre instance create INSTANCE_ID \
  --filesystem=FILESYSTEM_NAME \
  --per-unit-storage-throughput=PERF_TIER \
  --capacity-gib=CAPACITY_GIB \
  --location=ZONE \
  --network=NETWORK_NAME \
  --project=PROJECT_ID \
  --kms-key-name=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

La clave de Cloud KMS debe existir en la misma región que la instancia de Managed Lustre que estás creando.

REST

Para crear una instancia protegida con CMEK con la API de REST, sigue los pasos que se indican en Crea una instancia. Especifica el identificador de clave como el valor de kmsKey, como se muestra a continuación:

POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
  "filesystem": "FILESYSTEM_NAME",
  "perUnitStorageThroughput": PERF_TIER,
  "capacityGib": CAPACITY_GIB,
  "network": "NETWORK_NAME",
  "kmsKey": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
}

La clave de Cloud KMS debe existir en la misma región que la instancia de Managed Lustre que estás creando.

Consulta la documentación de referencia del recurso Instance para obtener una lista completa de los campos y sus descripciones.

Consola de Google Cloud

Para crear una instancia protegida por CMEK con la consola de Google Cloud , sigue los pasos que se indican en Crea una instancia. En la página Crear instancia de la consola de Google Cloud , haz lo siguiente:

  1. En la sección Encriptación, selecciona Clave de Cloud KMS.

  2. Selecciona Cloud KMS como el tipo de administración de claves y selecciona tu clave. Si tu clave está en un proyecto diferente (recomendado), haz clic en Cambiar proyecto, selecciona el proyecto de la clave y, luego, selecciona tu clave. La clave de Cloud KMS debe existir en la misma región que la instancia de Managed Lustre que estás creando.

  3. Si tu agente de servicio de Managed Lustre no tiene los permisos necesarios para usar CMEK, se te pedirá que otorgues el rol cloudkms.cryptoKeyEncrypterDecrypter. Haz clic en Otorgar para aplicar el rol.

Si la clave de Cloud KMS no está disponible o hay problemas de permisos cuando inicias la operación de creación, esta falla y devuelve un error FAILED_PRECONDITION.

Administración de claves

Las claves de Cloud Key Management Service se pueden rotar, inhabilitar, volver a habilitar o destruir. Pueden dejar de estar disponibles por varios motivos.

Rota una clave

Puedes rotar tu clave de Cloud KMS. Cuando se rota una clave, se crea una nueva versión de clave.

  • La rotación de una clave no vuelve a encriptar los datos en tu instancia de Managed Lustre. Managed Lustre no admite la desencriptación ni la reencriptación de datos.

  • La capacidad existente de tu instancia de Managed Lustre se sigue encriptando con la versión de la clave que se usaba cuando se creó la instancia.

  • Cuando aumentas la capacidad de almacenamiento de tu instancia, la nueva capacidad está protegida por la versión de clave que es principal cuando realizas la solicitud de aumento de capacidad, y todos los datos que se escriben en esa capacidad están protegidos por esa versión de clave.

Esto significa que puedes tener varias versiones de claves que encripten tu instancia de Managed Lustre si aumentaste la capacidad de la instancia después de rotar la versión de la clave.

Inhabilita una clave

Puedes inhabilitar una versión de clave. Durante el tiempo en que se inhabilite cualquier versión de clave que use tu instancia de Managed Lustre, la instancia se suspenderá. Para reanudar la instancia, devuelve todas las versiones de clave que la protegen a un estado disponible. Consulta Claves no disponibles para obtener información sobre las instancias suspendidas.

Consulta Inhabilita y habilita versiones de clave para obtener más información.

Cómo volver a habilitar una clave

Si se inhabilita una versión de clave, puedes volver a habilitarla a través de la API de Cloud KMS. Consulta Habilita e inhabilita versiones de claves.

Para reanudar la instancia de Managed Lustre, se deben habilitar o restablecer todas las versiones de la clave que encriptan la capacidad de almacenamiento.

Después de que todas las claves requeridas vuelvan al estado ENABLED, Managed Lustre detecta automáticamente los cambios de clave y reinicia la instancia. El estado de la instancia se convierte en ACTIVE y el servicio de Managed Lustre reanuda su funcionamiento normal. Puedes realizar operaciones de E/S y todas las demás operaciones de larga duración.

Destruye una clave

Las versiones de claves de Cloud KMS se pueden destruir, lo que significa que el material de la clave se borra de forma permanente.

Las claves de Cloud KMS no se pueden destruir de inmediato. En su lugar, debes programar la destrucción de una versión de clave. Durante la duración programada, puedes restablecer una versión de clave para cancelar su destrucción. Consulta Destruye y restablece versiones de claves para obtener más detalles.

No está disponible una versión de clave programada para su destrucción; se suspenden todas las instancias de Managed Lustre protegidas por esa versión de clave. Consulta Claves no disponibles para obtener información sobre las instancias suspendidas.

Una vez que se destruye una versión de clave, no se puede restablecer. La instancia permanecerá suspendida de forma permanente. La única operación disponible en la instancia de Managed Lustre es borrarla.

Claves no disponibles

Una clave puede dejar de estar disponible por los siguientes motivos:

  • La clave está inhabilitada.
  • La clave se destruyó o se programó para destruirse.
  • Los permisos necesarios se quitan del agente de servicio.
  • La facturación está inhabilitada en el proyecto de la clave de Cloud KMS y permanece inhabilitada durante más de una hora.
  • Una clave externa permanece inaccesible durante más de una hora.

En estos casos, a los pocos minutos del evento, la instancia de Managed Lustre se cierra y su estado se establece en SUSPENDED.

Una instancia de SUSPENDED se puede recuperar si se vuelve a habilitar la clave.

Los posibles motivos de suspensión son los siguientes:

Acción en la clave Estado de la instancia Motivo de la suspensión Se puede volver a habilitar
Inhabilitar SUSPENDED KEY_DISABLE Sí
Programar para destruir SUSPENDED KEY_DESTROY_SCHEDULED Sí
Destruir SUSPENDED KEY_DESTROY No
Quitar permiso SUSPENDED PERMISSION_DENIED Sí
Inhabilitar la facturación durante 1 h SUSPENDED BILLING_DISABLED Sí
No se puede acceder a la clave de EKM durante 1 h SUSPENDED EKM_KEY_UNREACHABLE Sí

Cuando se suspende una instancia, ocurre lo siguiente:

  • Las operaciones de larga duración, como las actualizaciones de instancias y la importación o exportación, se bloquean y devuelven un error FAILED_PRECONDITION.
  • Las operaciones de E/S dejan de responder hasta que se apagan los nodos del servidor. Esto ocurre en un plazo de 30 minutos.
  • La única operación de larga duración permitida es DeleteInstance.

Es posible que no se puedan reanudar las instancias que se suspendieron durante más de cuatro meses.

Facturación de las instancias suspendidas

Si una instancia de Managed Lustre entra en el estado SUSPENDED debido a la falta de disponibilidad de la clave, seguirás acumulando cargos por la instancia. El estado de suspensión no detiene la facturación. Para dejar de generar cargos por la instancia, debes borrarla.

Cloud KMS también te factura por separado las versiones de claves que uses.

Ver el uso de claves y enumerar las versiones de claves

Puedes ver los recursos de Google Cloud de tu organización que están protegidos por tus claves de Cloud KMS. Consulta Visualiza el uso de claves para obtener más detalles.

Para ver la lista completa de las versiones de claves que usa tu instancia de Managed Lustre, usa el comando gcloud kms inventory search-protected-resources:

gcloud kms inventory search-protected-resources \
  --keyname=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

Aquí:

También puedes ver la información de las claves en la página Inventario de claves.

Ir al inventario de claves