Usar claves de encriptado gestionadas por el cliente (CMEK)
De forma predeterminada, Colab Enterprise cifra el contenido del cliente en reposo. Colab Enterprise se encarga del cifrado sin que tengas que hacer nada más. Esta opción se llama Cifrado predeterminado de Google.
Si quieres controlar tus claves de cifrado, puedes usar claves de cifrado gestionadas por el cliente (CMEKs) en Cloud KMS con servicios integrados con CMEKs, como Colab Enterprise. Si usas claves de Cloud KMS, tendrás control sobre su nivel de protección, ubicación, calendario de rotación, permisos de uso y acceso, y límites criptográficos. Además, Cloud KMS te permite ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google sea el propietario y gestione las claves de cifrado de claves (KEKs) simétricas que protegen tus datos, tú controlas y gestionas estas claves en Cloud KMS.
Una vez que hayas configurado tus recursos con CMEKs, la experiencia de acceder a tus recursos de Colab Enterprise será similar a la de usar el cifrado predeterminado de Google. Para obtener más información sobre las opciones de encriptado, consulta Claves de encriptado gestionadas por el cliente (CMEK).
En esta guía se describe cómo usar CMEK en Colab Enterprise.
Para obtener más información sobre cómo usar CMEK en Vertex AI, consulta la página de CMEK de Vertex AI.
CMEK para Colab Enterprise
Puedes usar CMEK para cifrar los entornos de ejecución y los archivos de cuaderno de Colab Enterprise.
Tiempos de ejecución
Cuando ejecutas código en un cuaderno de Colab Enterprise, un entorno de ejecución ejecuta el código en una o varias instancias de máquinas virtuales (VM) gestionadas por Colab Enterprise. Cuando habilitas las CMEKs en tus tiempos de ejecución de Colab Enterprise, se usa la clave que designes (en lugar de una clave gestionada por Google) para cifrar los datos de estas VMs. La clave CMEK cifra los siguientes tipos de datos:
- La copia de tu código en las máquinas virtuales.
- Cualquier dato que cargue tu código.
- Cualquier dato temporal que tu código guarde en el disco local.
Puedes iniciar, detener y actualizar tu tiempo de ejecución sin que ello afecte al cifrado con CMEK.
Por lo general, la clave de CMEK no cifra los metadatos asociados a tu operación, como el nombre del tiempo de ejecución o el nombre y la región de tu cuaderno. Estos metadatos siempre se cifran con el mecanismo de cifrado predeterminado de Google.
Notebooks
Los cuadernos de Colab Enterprise se almacenan en repositorios de Dataform. Cuando creas un cuaderno, Colab Enterprise crea automáticamente un repositorio de Dataform oculto donde se almacena el cuaderno. Como el repositorio está oculto, no puedes modificar su configuración de cifrado como lo harías con otros repositorios de Dataform.
Para usar CMEK en tus cuadernos, debes definir una clave CMEK de Dataform predeterminada para el Google Cloud proyecto que contendrá tus cuadernos. Después de definir una clave CMEK de Dataform predeterminada, Dataform aplica la clave a todos los repositorios nuevos que se creen en el proyecto Google Cloud de forma predeterminada, incluidos los repositorios ocultos que se creen para almacenar tus cuadernos.
La clave CMEK predeterminada de Dataform no se aplica a los repositorios. Por lo tanto, si ya tienes cuadernos en ese proyecto, no se cifrarán con la clave CMEK predeterminada de Dataform. Para usar la CMEK con un cuaderno que se haya creado antes de definir la clave CMEK predeterminada de Dataform de tu proyecto, puedes guardar el archivo del cuaderno como un nuevo cuaderno de Colab Enterprise.
Para obtener más información sobre las claves CMEK predeterminadas de Dataform, consulta Usar claves CMEK predeterminadas de Dataform.
Para usar CMEK en tus cuadernos, consulta Definir una clave CMEK de Dataform predeterminada.
Claves admitidas
Colab Enterprise admite los siguientes tipos de claves CMEK:
La disponibilidad de las llaves varía según el tipo de llave y la región. Para obtener más información sobre la disponibilidad geográfica de las claves de CMEK, consulta las ubicaciones de Cloud KMS.
Restricciones y limitaciones
Colab Enterprise admite CMEK con las siguientes restricciones y limitaciones:
- La cuota predeterminada de Vertex AI es una clave de cifrado por proyecto y región. Si necesitas registrar más de una clave para una región de tu proyecto, ponte en contacto con el equipo de tu cuenta de Google para solicitar un aumento de la cuota de configuraciones de CMEK y justifica 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 cifrado y descifrado con claves CMEK solo afectan a las cuotas de Cloud KMS si usas claves de hardware (Cloud HSM) o externas (Cloud EKM). Para obtener más información, consulta las cuotas de Cloud KMS.
Configurar CMEK para tus tiempos de ejecución
En las siguientes secciones se describe cómo crear un conjunto de claves y una clave en Cloud Key Management Service, cómo conceder permisos de cifrado y descifrado de Colab Enterprise a tu clave y cómo crear una plantilla de tiempo de ejecución configurada para usar CMEK. Cualquier tiempo de ejecución que genere Colab Enterprise a partir de esta plantilla de tiempo de ejecución usa el cifrado CMEK.
Antes de empezar
En esta guía se da por supuesto que usas dos proyectos independientes Google Cloud para configurar las claves de cifrado gestionadas por el cliente en los entornos de ejecución de Colab Enterprise:
- Un proyecto para gestionar tu clave de cifrado (denominado "proyecto de Cloud KMS").
- Un proyecto para acceder a tus recursos de Colab Enterprise e interactuar con cualquier otro producto de Google Cloud que necesites (denominado "proyecto de cuaderno").
Esta configuración recomendada admite una separación de funciones.
También puedes usar un solo Google Cloud proyecto para toda la guía. Para ello, utiliza el mismo proyecto en todas las tareas siguientes que hagan referencia al proyecto de Cloud KMS y a las tareas que hagan referencia al proyecto de cuaderno.
Configurar el proyecto de Cloud KMS
- 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.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. - 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.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. En la consola de Google Cloud , haz clic en Seguridad y selecciona Gestión de claves. Se le dirigirá a la página Claves criptográficas y deberá seleccionar su proyecto de Cloud KMS.
Haz clic en el nombre del conjunto de claves que has creado en una sección anterior de esta guía para ir a la página Detalles del conjunto de claves.
Marca la casilla de la clave que has creado en una sección anterior de esta guía. Si aún no se ha abierto un panel de información con el nombre de tu clave, haz clic en Mostrar panel de información.
En el panel de información, haz clic en
Añadir miembro para abrir el cuadro de diálogo Añadir miembros a "KEY_NAME". En este cuadro de diálogo, haz lo siguiente:En el cuadro Miembros nuevos, introduce la dirección de correo de la cuenta de servicio que has anotado en la sección anterior:
service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
En la lista desplegable Selecciona un rol, haz clic en Cloud KMS y, a continuación, selecciona el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS.
Haz clic en Guardar.
- KEY_NAME: el nombre de la clave que has creado en una sección anterior de esta guía.
- KEY_RING_NAME: el llavero que has creado en una sección anterior de esta guía.
- REGION: la región en la que has creado el conjunto de claves.
- KMS_PROJECT_ID: el ID de tu proyecto de Cloud KMS.
- NOTEBOOK_PROJECT_NUMBER: el número de proyecto de tu proyecto de cuaderno, que has indicado en la sección anterior como parte de una dirección de correo de una cuenta de servicio.
-
En la Google Cloud consola, ve a la página Plantillas de tiempo de ejecución de Colab Enterprise.
-
Haz clic en
Nueva plantilla.Aparecerá el cuadro de diálogo Crear plantilla de tiempo de ejecución.
-
En la sección Configurar computación, en Encriptado, selecciona Clave de Cloud KMS.
-
En Tipo de clave, selecciona Cloud KMS y, a continuación, en el siguiente campo, selecciona tu clave de cifrado gestionada por el cliente.
-
Completa el resto del cuadro de diálogo de creación de la instancia y, a continuación, haz clic en Crear.
La plantilla de tiempo de ejecución aparecerá en la lista de la pestaña Plantillas de tiempo de ejecución.
- Para usar CMEK en tus cuadernos, consulta Definir una clave CMEK de Dataform predeterminada.
- Más información sobre las claves de cifrado gestionadas por el cliente Google Cloud
- Consulta cómo usar CMEK con otros productos Google Cloud.
Configurar el proyecto Notebook
Configurar Google Cloud CLI
La CLI de gcloud es obligatoria para algunos pasos de esta guía y opcional para otros.Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Crear un conjunto de claves y una clave
Sigue la guía de Cloud KMS para crear claves simétricas y crea un conjunto de claves y una clave. Cuando crees tu conjunto de claves, especifica una región que admita operaciones de Colab Enterprise como ubicación del conjunto de claves. Colab Enterprise solo admite CMEK cuando el tiempo de ejecución y la clave usan la misma región. No debes especificar una ubicación birregional, multirregional o global para tu conjunto de claves.
Crea el conjunto de claves y la clave en tu proyecto de Cloud KMS.
Conceder permisos de Colab Enterprise
Para usar CMEK en tus recursos, debes conceder permiso a Colab Enterprise para cifrar y descifrar datos con tu clave.
Colab Enterprise usa un agente de servicio gestionado por Google para ejecutar operaciones con tus recursos. Esta cuenta de servicio se identifica mediante una dirección de correo electrónico con el siguiente formato: service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
.
Para encontrar la cuenta de servicio adecuada para tu proyecto de cuaderno, ve a la página Gestión de identidades y accesos de laGoogle Cloud consola y busca el miembro que coincida con este formato de dirección de correo, con el número de proyecto de tu proyecto de cuaderno en lugar de la variable NOTEBOOK_PROJECT_NUMBER. La cuenta de servicio también tiene el nombre Vertex AI Service Agent
.
Ve a la página de gestión de identidades y accesos.
Anota la dirección de correo de esta cuenta de servicio y úsala en los pasos siguientes para concederle permiso para cifrar y descifrar datos con tu clave. Puedes conceder permisos mediante la Google Cloud consola o la CLI de Google Cloud:
Google Cloud consola
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, sustituye los siguientes marcadores de posición:
Configurar una plantilla de tiempo de ejecución con la clave de KMS
Cuando creas un recurso compatible con CMEK, puedes especificar tu clave como uno de los parámetros de creación. Para crear un tiempo de ejecución de Colab Enterprise, crea una plantilla de tiempo de ejecución con tu clave CMEK especificada como parámetro. Cualquier tiempo de ejecución que genere Colab Enterprise a partir de esta plantilla de tiempo de ejecución usa el cifrado CMEK.
Para crear una plantilla de tiempo de ejecución mediante la consola Google Cloud , especifica la clave en el cuadro de diálogo Crear plantilla de tiempo de ejecución. Sigue estos pasos: