Claves de encriptado gestionadas por el cliente (CMEK)
De forma predeterminada, Vertex AI Workbench cifra el contenido del cliente en reposo. Vertex AI Workbench 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 Vertex AI Workbench. 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. Cloud KMS también te permite monitorizar el uso de las claves, ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google sea el propietario y el gestor de 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 Vertex AI Workbench 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 página se describen algunas ventajas y limitaciones específicas de usar CMEK con Vertex AI Workbench y se muestra cómo configurar una nueva instancia de Vertex AI Workbench para usar CMEK.
Para obtener más información sobre cómo usar CMEK en Vertex AI, consulta la página de CMEK de Vertex AI.
Ventajas de CMEK
En general, las CMEKs son más útiles si necesitas tener un control total sobre las claves que se usan para cifrar tus datos. Con CMEK, puedes gestionar tus claves en Cloud Key Management Service. Por ejemplo, puedes rotar o inhabilitar una clave, o bien configurar una programación de rotación mediante la API de Cloud KMS.
Cuando ejecutas una instancia de Vertex AI Workbench, esta se ejecuta en una máquina virtual gestionada por Vertex AI Workbench. Cuando habilitas CMEK en una instancia de Vertex AI Workbench, Vertex AI Workbench usa la clave que designes en lugar de una clave gestionada por Google para cifrar los datos de los discos de arranque de la VM.
La clave CMEK no cifra los metadatos, como el nombre y la región de la instancia, asociados a tu instancia de Vertex AI Workbench. Los metadatos asociados a las instancias de Vertex AI Workbench siempre se cifran con el mecanismo de cifrado predeterminado de Google.
Limitaciones de CMEK
Para reducir la latencia y evitar que los recursos dependan de servicios distribuidos en varios dominios de fallos, Google recomienda proteger las instancias regionales de Vertex AI Workbench con claves en la misma ubicación.
- Puedes cifrar instancias regionales de Vertex AI Workbench con claves de la misma ubicación o de la ubicación global. Por ejemplo, puedes cifrar datos en un disco de la zona
us-west1-a
con una clave deus-west1
oglobal
. - Puedes cifrar instancias globales usando claves de cualquier ubicación.
- Configurar CMEK para Vertex AI Workbench no configura automáticamente CMEK para otros productos de Google Cloud que utilices. Para usar CMEK y cifrar datos en otros productos de Google Cloud , debes completar una configuración adicional.
Configurar CMEK para una instancia de Vertex AI Workbench
En las siguientes secciones se describe cómo crear un conjunto de claves y una clave en el servicio de gestión de claves de Cloud, cómo conceder a la cuenta de servicio los permisos de cifrado y descifrado de tu clave, y cómo crear una instancia de Vertex AI Workbench que use CMEK.
Antes de empezar
Te recomendamos que utilices una configuración que admita la separación de funciones. Para configurar CMEK en Vertex AI Workbench, puedes usar dos proyectos independientes: Google Cloud
- Un proyecto de Cloud KMS: un proyecto para gestionar tu clave de cifrado
- Un proyecto de Vertex AI Workbench: un proyecto para acceder a instancias de Vertex AI Workbench e interactuar con cualquier otro producto de Google Cloud que necesites para tu caso práctico
También puedes usar un solo Google Cloud proyecto. Para ello, utiliza el mismo proyecto en todas las tareas siguientes.
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 Notebooks 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 Notebooks 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. Cuando elijas la ubicación de tu conjunto de claves, usa
global
o la ubicación en la que se encuentre tu instancia de Vertex AI Workbench.Crea el conjunto de claves y la clave en tu proyecto de Cloud KMS.
En la Google Cloud consola, ve a la página Gestión de identidades y accesos.
Selecciona Incluir concesiones de roles proporcionadas por Google.
Busca los miembros que coincidan con los siguientes formatos de dirección de correo. Anota las direcciones de correo y úsalas en los pasos siguientes.
La dirección de correo del agente de servicio de tu proyecto tiene el siguiente formato:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
La dirección de correo de la cuenta de servicio de Compute Engine tiene el siguiente formato:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Sustituye
NOTEBOOKS_PROJECT_NUMBER
por el número del proyecto de tu proyecto de Vertex AI Workbench.Para conceder a estas cuentas permiso para encriptar y desencriptar datos con tu clave, puedes usar la Google Cloud consola o la CLI de Google Cloud.
Consola
En la Google Cloud consola, ve a la página Gestión de claves.
Selecciona tu proyecto de Cloud KMS.
Haz clic en el nombre del conjunto de claves que has creado en Crear un conjunto de claves y una clave. Se abrirá la página Detalles del conjunto de claves.
Selecciona la casilla de la clave que has creado en Crear un conjunto de claves y una clave. 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. Se abrirá el cuadro de diálogo Añadir miembros a "KEY_NAME". En este cuadro de diálogo, haz lo siguiente:En el campo Miembros nuevos, introduce la dirección de correo del agente de servicio de tu proyecto:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
En la lista 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.
Repite estos pasos con el agente de servicio de Compute Engine:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
gcloud
Para conceder al agente de servicio de tu proyecto permiso para cifrar y descifrar datos con tu clave, 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-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Haz los cambios siguientes:
KEY_NAME
: el nombre de la clave que has creado en Crear un conjunto de claves y una claveKEY_RING_NAME
: el conjunto de claves que has creado en Crear un conjunto de claves y una claveREGION
: la región en la que has creado tu conjunto de clavesKMS_PROJECT_ID
: el ID de tu proyecto de Cloud KMSNOTEBOOKS_PROJECT_NUMBER
: el número de proyecto de tu proyecto de Vertex AI Workbench, que has anotado en la sección anterior como parte de una dirección de correo de una cuenta de servicio.
Para conceder permiso a la cuenta de servicio de Compute Engine para encriptar y desencriptar datos con tu clave, 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-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
En la consola, ve a la página Instancias. Google Cloud
Haz clic en
Crear.En el cuadro de diálogo Nueva instancia, haz clic en Opciones avanzadas.
En el cuadro de diálogo Crear instancia, vaya a la sección Detalles y proporcione la siguiente información sobre la nueva instancia:
- Nombre: el nombre de la nueva instancia
- Región: la región en la que se encuentran la clave y el conjunto de claves.
- Zona: una zona de la región que has seleccionado.
En la sección Discos, en Encriptado, selecciona Clave de cifrado gestionada por el cliente (CMEK).
Haz clic en Seleccionar una clave gestionada por el cliente.
- Si la clave gestionada por el cliente que quieres usar está en la lista, selecciónala.
Si la clave gestionada por el cliente que quieres usar no aparece en la lista, introduce el ID de recurso de la clave gestionada por el cliente. El ID de recurso de tu clave gestionada por el cliente tiene el siguiente aspecto:
projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Haz los cambios siguientes:
NOTEBOOKS_PROJECT_NUMBER
: el ID de tu proyecto de Vertex AI WorkbenchKEY_RING_NAME
: el conjunto de claves que has creado en Crear un conjunto de claves y una claveKEY_NAME
: el nombre de la clave que has creado en Crear un conjunto de claves y una clave
Completa el resto del cuadro de diálogo de creación de la instancia y, a continuación, haz clic en Crear.
- 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 de Vertex AI Workbench
Configurar Google Cloud CLI
La CLI de gcloud es obligatoria para algunos pasos de esta página 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
Cuando crees un conjunto de claves y una clave, ten en cuenta los siguientes requisitos:
Para crear un conjunto de claves y una clave, consulta Crear claves de cifrado simétricas.
Conceder permisos de Vertex AI Workbench
Para usar CMEK en tu instancia de Vertex AI Workbench, debes conceder permiso a la instancia para cifrar y descifrar datos con tu clave. Concede este permiso al agente de servicio de tu proyecto y a la cuenta de servicio de Compute Engine.
Para encontrar las cuentas específicas de tu proyecto de Vertex AI Workbench, usa la Google Cloud consola.
Crear una instancia de Vertex AI Workbench con CMEK
Una vez que hayas concedido a tu instancia de Vertex AI Workbench permiso para cifrar y descifrar datos con tu clave, podrás crear una instancia de Vertex AI Workbench que cifre datos con esta clave.
En el siguiente ejemplo se muestra cómo encriptar y desencriptar datos con tu clave mediante la consola Google Cloud .
Para crear una instancia de Vertex AI Workbench con una clave de cifrado gestionada por el cliente, sigue estos pasos: