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

De forma predeterminada, Colab Enterprise encripta el contenido del cliente almacenado en reposo. Colab Enterprise 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 Colab Enterprise. 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 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 Colab Enterprise 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).

En esta guía, se describe cómo usar CMEK para Colab Enterprise.

Para obtener más información sobre cómo usar CMEK para Vertex AI, consulta la página de CMEK de Vertex AI.

CMEK para Colab Enterprise

Puedes usar CMEK para encriptar los entornos de ejecución y los archivos de notebooks (notebooks) de Colab Enterprise.

Entornos de ejecución

Cuando ejecutas código en un notebook de Colab Enterprise, un entorno de ejecución ejecuta el código en una o más instancias de máquina virtual (VM) administradas por Colab Enterprise. Cuando habilitas CMEK para tus entornos de ejecución de Colab Enterprise, la clave que designes, en lugar de una clave administrada por Google, se usa para encriptar datos en estas VMs. La clave CMEK encripta las siguientes categorías de datos:

  • La copia del código en las VM.
  • Cualquier dato que se cargue con el código.
  • Cualquier dato temporal que el código guarde en el disco local.

Puedes iniciar, detener y actualizar tu entorno de ejecución sin afectar su encriptación de CMEK.

En general, la clave CMEK no encripta los metadatos asociados con tu operación, como el nombre del entorno de ejecución o el nombre y la región de tu notebook. Estos metadatos siempre se encriptan con el mecanismo de encriptación predeterminado de Google.

Notebooks

Los notebooks de Colab Enterprise se almacenan en repositorios de Dataform. Cuando creas un notebook, Colab Enterprise crea automáticamente un repositorio oculto de Dataform en el que se almacena el notebook. Como el repositorio está oculto, no puedes modificar su configuración de encriptación como lo harías con otros repositorios de Dataform.

Para usar CMEK en tus notebooks, debes establecer una clave de CMEK predeterminada de Dataform para el Google Cloud proyecto que contendrá tus notebooks. Después de establecer una clave CMEK predeterminada de Dataform, esta aplica la clave a todos los repositorios nuevos creados en el proyecto de Google Cloud de forma predeterminada, incluidos los repositorios ocultos creados para almacenar tus notebooks.

La clave CMEK predeterminada de Dataform no se aplica a los repositorios existentes. Por lo tanto, si ya tienes notebooks en ese proyecto, la clave de CMEK predeterminada de Dataform no los encriptará. Para usar CMEK con un notebook que se creó antes de configurar la clave de CMEK predeterminada de Dataform de tu proyecto, puedes guardar el archivo del notebook como un nuevo notebook de Colab Enterprise.

Para obtener más información sobre las claves CMEK predeterminadas de Dataform, consulta Cómo usar las claves CMEK predeterminadas de Dataform.

Para usar CMEK en tus notebooks, consulta Cómo configurar una clave CMEK predeterminada de Dataform.

Claves admitidas

Colab Enterprise admite los siguientes tipos de claves CMEK:

La disponibilidad de las claves varía según el tipo de clave y la región. Para obtener más información sobre la disponibilidad geográfica de las claves de CMEK, consulta Ubicaciones de Cloud KMS.

Restricciones y limitaciones

Colab Enterprise admite CMEK con las siguientes restricciones:

  • La cuota predeterminada en Vertex AI es una clave de encriptación por proyecto y región. Si necesitas registrar más de una clave para una región en tu proyecto, comunícate con tu equipo de cuentas de Google para solicitar un aumento de la cuota para las configuraciones de CMEK y proporciona una justificación de por qué necesitas más de una clave.

Cuotas de Cloud KMS y Colab Enterprise

Cuando usas CMEK en Colab Enterprise, tus proyectos pueden consumir cuotas de solicitudes criptográficas de Cloud KMS. 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.

Configura CMEK para tus entornos de ejecución

En las siguientes secciones, se describe cómo crear un llavero de claves y una clave en Cloud Key Management Service, otorgar permisos de encriptador y desencriptador de Colab Enterprise para tu clave y crear una plantilla de entorno de ejecución configurada para usar CMEK. Cualquier entorno de ejecución que genere Colab Enterprise a partir de esta plantilla de entorno de ejecución usa la encriptación CMEK.

Antes de comenzar

En esta guía, se supone que usas dos proyectos Google Cloud separados para configurar CMEK para los tiempos de ejecución de Colab Enterprise:

  • Un proyecto para administrar la clave de encriptación (denominado “proyecto de Cloud KMS”)
  • Un proyecto para acceder a tus recursos de Colab Enterprise y, además, interactuar con cualquier otro producto de Google Cloud que necesites (denominado “proyecto de notebooks”)

Esta configuración recomendada admite una separación de obligaciones.

Como alternativa, puedes usar un solo proyecto de Google Cloud para toda la guía. Para hacerlo, usa el mismo proyecto para todas las tareas que hacen referencia al proyecto de Cloud KMS y las tareas que hacen referencia al proyecto de Notebooks.

Configura el proyecto de Cloud KMS

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

Configura el proyecto de Notebook

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

Configura la CLI de Google Cloud

gcloud CLI es obligatoria en algunos pasos de esta guía y opcional en otros.

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

Crea un llavero de claves y una clave

Sigue la guía de Cloud KMS para crear claves simétricas a fin de crear un llavero de claves y una clave. Cuando crees el llavero de claves, especifica una región que admita operaciones de Colab Enterprise como la ubicación del llavero de claves. Colab Enterprise solo admite CMEK cuando el entorno de ejecución y la clave usan la misma región. No debes especificar una ubicación birregional, multirregional ni global para el llavero de claves.

Asegúrate de crear el llavero de claves y la clave en el proyecto de Cloud KMS.

Otorga permisos de Colab Enterprise

Para usar CMEK en tus recursos, debes otorgar permiso a Colab Enterprise para encriptar y desencriptar datos con la clave. Colab Enterprise usa un agente de servicio administrado por Google para ejecutar operaciones con tus recursos. Esta cuenta de servicio se identifica con una dirección de correo electrónico que tiene el siguiente formato: service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com.

Para encontrar la cuenta de servicio adecuada para tu proyecto de Notebooks, ve a la página IAM en la consola de Google Cloud y busca el miembro que coincida con este formato de dirección de correo electrónico. Debes reemplazar la variable NOTEBOOK_PROJECT_NUMBER por el número de proyecto de Notebooks. La cuenta de servicio también tiene el nombre Vertex AI Service Agent.

Ir a la página IAM

Toma nota de la dirección de correo electrónico de esta cuenta de servicio y úsala en los pasos siguientes a fin de otorgarle permiso para encriptar y desencriptar datos con la clave. Puedes otorgar permisos mediante la consola de Google Cloud o mediante Google Cloud CLI:

Consola de Google Cloud

  1. En la consola de Google Cloud, haz clic en Seguridad y selecciona Administración de claves. Esto te llevará a la página Claves criptográficas y seleccionar tu proyecto de Cloud KMS.

    Ir a la página Claves criptográficas

  2. Haz clic en el nombre del llavero de claves que creaste en la sección anterior de esta guía para ir a la página Detalles del llavero de claves.

  3. Selecciona la casilla de verificación de la clave que creaste en una sección anterior de esta guía. Si no hay un panel de información etiquetado con el nombre de la clave que ya esté abierto, haz clic en Mostrar panel de información.

  4. En el panel de información, haz clic en Agregar miembro para abrir el cuadro de diálogo Agregar miembros a "KEY_NAME". En este cuadro de diálogo, haz lo siguiente:

    1. En el cuadro Miembros nuevos, ingresa la dirección de correo electrónico de la cuenta de servicio que anotaste en la sección anterior: service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com.

    2. En la lista desplegable Seleccionar un rol, haz clic en Cloud KMS y, luego, selecciona el rol de Encriptador/desencriptador de CryptoKey de Cloud KMS.

    3. Haz clic en Guardar.

gcloud

Ejecuta el siguiente comando:

gcloud kms keys add-iam-policy-binding KEY_NAME \
  --keyring=KEY_RING_NAME \
  --location=REGION \
  --project=KMS_PROJECT_ID \
  --member=serviceAccount:service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
  --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

En este comando, reemplaza los siguientes marcadores de posición:

  • KEY_NAME: Es el nombre de la clave que creaste en una sección anterior de esta guía.
  • KEY_RING_NAME: Es el llavero de claves que creaste en una sección anterior de esta guía.
  • REGION: Es la región en la que creaste el llavero de claves.
  • KMS_PROJECT_ID: Es el ID del proyecto de Cloud KMS.
  • NOTEBOOK_PROJECT_NUMBER: Es el número del proyecto de Notebooks, que anotaste en la sección anterior como parte de una dirección de correo electrónico de cuenta de servicio.

Configura una plantilla de entorno de ejecución con la clave de KMS

Cuando creas un recurso compatible con CMEK nuevo, puedes especificar la clave como uno de los parámetros de creación. Para crear un entorno de ejecución de Colab Enterprise, debes crear una plantilla de entorno de ejecución con tu clave de CMEK especificada como un parámetro. Cualquier entorno de ejecución que genere Colab Enterprise a partir de esta plantilla de entorno de ejecución usa la encriptación CMEK.

Para crear una plantilla de entorno de ejecución con la consola de Google Cloud, debes especificar la clave en el diálogo Create new runtime template. Haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Plantillas de entorno de ejecución de Colab Enterprise.

    Ir a Plantillas de entorno de ejecución

  2. Haz clic en Plantilla nueva.

    Aparecerá el cuadro de diálogo Crear nueva plantilla de entorno de ejecución.

  3. En la sección Configurar procesamiento, en Encriptación, selecciona Clave de Cloud KMS.

  4. En Tipo de clave, selecciona Cloud KMS y, luego, en el siguiente campo, selecciona la clave de encriptación administrada por el cliente.

  5. Completa el resto del diálogo de creación de la instancia y, luego, haz clic en Crear.

    Tu plantilla de entorno de ejecución aparece en la lista de la pestaña Plantillas de entorno de ejecución.

¿Qué sigue?