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

De forma predeterminada, Google Cloud Managed Lustre encripta el contenido del cliente en reposo. Lustre administrado 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 Lustre administrado 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 del archivo
  • Metadatos del sistema de archivos, como nombres de archivos

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 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 las cuotas de Cloud KMS.

Limitaciones

El aprovisionamiento dinámico de instancias de Managed Lustre protegidas por CMEK no es compatible con Google Kubernetes Engine, pero sí lo es el aprovisionamiento estático.

Cluster Toolkit no admite instancias de Lustre administradas protegidas por CMEK.

Los Controles del servicio de VPC no admiten instancias de Managed Lustre protegidas por CMEK. Si intentas crear una instancia protegida por CMEK dentro de un perímetro de Controles del servicio de VPC, fallará la operación de creación de la instancia.

Crea una clave de Cloud KMS

Antes de crear una instancia de Lustre habilitada para CMEK, debes tener un llavero de claves 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, te recomendamos que la crees en un proyecto diferente del que contiene tu instancia de Lustre administrado. Consulta Separación de obligaciones.

La clave de Cloud KMS debe crearse en la misma región que la instancia de Lustre administrada 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 Lustre administrado

Managed Lustre usa un agente de servicio para acceder a tus recursos y realizar acciones en tu nombre. Otorgas roles de IAM al agente de servicio para administrar su acceso. El agente de servicio de Managed Lustre se crea automáticamente cuando creas una instancia de Managed Lustre.

La identidad del agente de servicio tiene el formato service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.

Google Cloud usuarios de la consola

Si crearás tu sistema de archivos Lustre administrado protegido 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 instancias.

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

Crea o recupera el agente de servicio

Si aún no tienes un agente de servicio de Managed Lustre

Si nunca creaste una instancia de Lustre administrada en el proyecto, ejecuta el siguiente comando para crear el agente de servicio de forma manual:

gcloud beta services identity create \
  --service=lustre.googleapis.com \
  --project=PROJECT_NUMBER_OR_ID

Reemplaza PROJECT_NUMBER_OR_ID por el número o el ID del proyecto en el que deseas crear la instancia de Lustre administrado. El resultado es similar a lo siguiente:

Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.com

Copia el valor de la identidad del agente de servicio para usarlo en el siguiente paso.

Si ya creaste una instancia de Managed Lustre

  1. Para construir la identidad del agente de servicio, obtén el número de tu proyecto. Un PROJECT_NUMBER no es lo mismo que un ID del proyecto:

    • Un ID del proyecto es una cadena única que puede ser una combinación de letras, números y guiones. Especificas un ID del proyecto cuando creas tu proyecto. Por ejemplo, example-project-123
    • Un número de proyecto es un identificador único generado automáticamente para tu proyecto que consta solo de números. Por ejemplo, 1234567890

    Para obtener el PROJECT_NUMBER de un ID del proyecto determinado, usa el comando gcloud projects describe:

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    
  2. Copia el número de proyecto que se muestra en la identidad del agente de servicio:

    service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
    
  3. Copia la identidad del agente de servicio para usarla en el siguiente paso.

Otorga permisos al agente de servicio

Managed Lustre necesita autorización para realizar operaciones con tu clave.

Debes otorgar al agente de servicio de Lustre administrado el rol de IAM roles/cloudkms.cryptoKeyEncrypterDecrypter en tu clave de Cloud KMS.

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-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 del paso anterior, con el siguiente formato: service-PROJECT_NUMBER@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, sigue estos pasos:

gcloud

Para crear una instancia protegida por 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 Lustre administrada que estás creando.

REST

Para crear una instancia protegida por 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 Lustre administrada 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, luego, 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 Lustre administrada que estás creando.

  3. Si tu agente de servicio de Lustre administrado no tiene los permisos necesarios para usar la CMEK, se te solicitará que otorgues el rol de 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, la operación 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.

Cómo rotar una clave

Puedes rotar tu clave de Cloud KMS. La rotación de una clave 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 sigue encriptada con la versión de la clave en uso 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 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 Lustre administrada 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 cualquier versión de clave que use tu instancia de Managed Lustre esté inhabilitada, la instancia se suspenderá. Para reanudar tu instancia, vuelve a poner en estado disponible todas las versiones de clave que la protegen. Consulta Claves no disponibles para obtener información sobre las instancias suspendidas.

Consulta Habilita y deshabilita versiones de clave para obtener más información.

Cómo volver a habilitar una llave

Si una versión de clave está inhabilitada, puedes volver a habilitarla a través de la API de Cloud KMS. Consulta Habilita y habilita versiones de clave.

Para reanudar la instancia de Lustre administrada, 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, Lustre administrado detectará automáticamente los cambios de clave y reiniciará la instancia. El estado de la instancia cambia a ACTIVE y el servicio Managed Lustre reanuda su funcionamiento normal. Puedes realizar E/S y todas las demás operaciones de larga duración.

Destruir una clave

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

Las claves de Cloud KMS no se pueden destruir de inmediato. En cambio, 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.

Una versión de clave programada para su destrucción no está disponible, y se suspenden todas las instancias de Lustre administradas 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. Tu 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 está programada para destruirse.
  • Se quitan los permisos obligatorios 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, unos minutos después del evento, la instancia de Lustre administrada se apaga y su estado se establece en SUSPENDED.

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

A continuación, se indican los posibles motivos de suspensión:

Acción en la llave Estado de la instancia Motivo de suspensión Se puede volver a habilitar
Inhabilitar SUSPENDED KEY_DISABLE
Programar para su destrucción SUSPENDED KEY_DESTROY_SCHEDULED
Destruir SUSPENDED KEY_DESTROY No
Cómo quitar el permiso SUSPENDED PERMISSION_DENIED
Inhabilita la facturación durante 1 h SUSPENDED BILLING_DISABLED
La clave de EKM no es accesible desde hace 1 h SUSPENDED EKM_KEY_UNREACHABLE

Cuando se suspende una instancia, sucede lo siguiente:

  • Las operaciones de larga duración, como las actualizaciones de instancias y la importación o exportación, se bloquean y muestran 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 instancias suspendidas

Si una instancia de Managed Lustre ingresa al estado SUSPENDED debido a la no 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 en uso.

Consulta el uso de claves y enumera las versiones de claves

Puedes ver los Google Cloud recursos 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 versiones de claves que usa tu instancia de Lustre administrado, 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 información clave en la página Inventario de claves.

Ir a Key Inventory