Usa 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 de Colab Enterprise y los archivos de notebooks (notebooks).
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 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 de Dataform oculto en el que se almacena el notebook. Debido a que 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 CMEK de Dataform predeterminada para el Google Cloud proyecto que contendrá tus notebooks. Después de establecer una clave CMEK de Dataform predeterminada, Dataform aplica la clave a todos los repositorios nuevos creados en el Google Cloud proyecto de forma predeterminada, incluidos los repositorios ocultos creados para almacenar tus notebooks.
La clave CMEK de Dataform predeterminada no se aplica a los repositorios existentes. Por lo tanto, si ya tienes notebooks en ese proyecto, no se encriptarán con la clave CMEK de Dataform predeterminada. Para usar CMEK con un notebook que se creó antes de que establecieras la clave CMEK de Dataform predeterminada 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 de Dataform predeterminadas, consulta Usa claves CMEK de Dataform predeterminadas.
Para usar CMEK en tus notebooks, consulta Establece una clave CMEK de Dataform predeterminada.
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 CMEK, consulta Ubicaciones de Cloud KMS.
Restricciones y limitaciones
Colab Enterprise admite CMEK con las siguientes restricciones y limitaciones:
- 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, cómo otorgar permisos de encriptador y desencriptador de Colab Enterprise para tu clave y cómo crear una plantilla de entorno de ejecución configurada para usar CMEK. Cualquier entorno de ejecución que Colab Enterprise genere 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 dosproyectos diferentes para configurar CMEK para los entornos de ejecución de Colab Enterprise: Google Cloud
- 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 para interactuar con cualquier otro Google Cloud producto que necesites (denominado “proyecto de Notebooks”).
Esta configuración recomendada admite una separación de obligaciones.
Como alternativa, puedes usar un solo Google Cloud proyecto 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
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Configura el proyecto de Notebooks
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Configura Google Cloud CLI
Gcloud CLI es obligatoria en algunos pasos de esta guía y opcional en otros.Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
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 tu 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 los 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 mediante 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
Google Cloud consola y busca el miembro que coincida con este
formato de dirección de correo electrónico. Debes reemplazar la
NOTEBOOK_PROJECT_NUMBER variable por el número
de proyecto de Notebooks. La cuenta de servicio también tiene el nombre Vertex AI Service Agent.
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 Google Cloud consola o mediante Google Cloud CLI.
Google Cloud Consola de
En la Google Cloud consola, 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.
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.
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.
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 diálogo, haz lo siguiente:
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.comEn la lista desplegable Seleccionar una función , haz clic en Cloud KMS y, luego, selecciona la función Encriptador/desencriptador de CryptoKey de Cloud KMS.
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, crea una plantilla de entorno de ejecución con tu clave CMEK especificada como parámetro. Cualquier entorno de ejecución que Colab Enterprise genere 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 Google Cloud consola, especifica la clave en el cuadro de diálogo Crear nueva plantilla de entorno de ejecución. Puedes hacer lo siguiente:
-
En la Google Cloud consola, ve a la página Plantillas de entorno de ejecución de Colab Enterprise.
-
Haz clic en Plantilla nueva.
Aparecerá el cuadro de diálogo Crear nueva plantilla de entorno de ejecución.
-
En la sección Configurar procesamiento, en Encriptación, selecciona Clave de Cloud KMS.
-
En Tipo de clave, selecciona Cloud KMS, y, luego, en el siguiente campo, selecciona tu clave de encriptación administrada por el cliente.
-
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 en la pestaña Plantillas de entorno de ejecución.
¿Qué sigue?
- Para usar CMEK en tus notebooks, consulta Establece una clave CMEK de Dataform predeterminada.
- Obtén más información sobre CMEK en Google Cloud.
- Obtén información para usar CMEK con otros Google Cloud productos.