Claves de encriptado gestionadas por el cliente
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. 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 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 cuadernos gestionados por el usuario y se muestra cómo configurar una nueva instancia de cuadernos gestionados por el usuario para que use CMEK.
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 cuadernos gestionados por el usuario, esta se ejecuta en una máquina virtual gestionada por Vertex AI Workbench. Cuando habilitas las CMEKs en una instancia de cuadernos gestionados por el usuario, 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 cuadernos gestionados por el usuario. Los metadatos asociados a las instancias de notebooks gestionadas por el usuario 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 errores, Google recomienda que protejas las instancias de notebooks gestionadas por el usuario regionales con claves en la misma ubicación.
- Puedes cifrar instancias de cuadernos regionales gestionados por el usuario 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 los cuadernos gestionados por el usuario 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 en una instancia de cuadernos gestionados por usuarios
En las siguientes secciones se describe cómo crear un conjunto de claves y una clave en Cloud Key Management Service, cómo conceder a la cuenta de servicio permisos de cifrado y descifrado para tu clave, y cómo crear una instancia de cuadernos gestionada por el usuario que utilice CMEK.
Antes de empezar
Te recomendamos que utilices una configuración que admita la separación de funciones. Para configurar CMEK en cuadernos gestionados por el usuario, puedes usar dos proyectos de Google Cloud independientes:
- Un proyecto de Cloud KMS: un proyecto para gestionar tu clave de cifrado
- Un proyecto de cuadernos gestionados por usuarios: un proyecto para acceder a instancias de cuadernos gestionados por usuarios e interactuar con cualquier otro producto 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 llavero de claves, usa
global
o la ubicación en la que se encuentre tu instancia de cuadernos gestionados por usuarios.Crea el conjunto de claves y la clave en tu proyecto de Cloud KMS.
En la consola, ve a la página Gestión de identidades y accesos. Google Cloud
Busca el principal con el nombre
Compute Engine default service account
.Anota la dirección de correo de esta cuenta de servicio y úsala en los pasos siguientes para concederle permiso para encriptar y desencriptar datos con tu clave.
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 de la cuenta de servicio de tu instancia.
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.
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 KMSSERVICE_ACCOUNT
: la dirección de correo de la cuenta de servicio de tu instanciaEn la Google Cloud consola, ve a la página Notebooks gestionados por el usuario. También puedes ir a notebook.new (https://notebook.new) y saltarte el siguiente paso.
Haz clic en
Nuevo cuaderno y, a continuación, selecciona Personalizar.En la página Crear un cuaderno gestionado por el usuario, en la sección Detalles, proporciona la siguiente información de tu 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.
Selecciona la sección Discos.
Para usar claves de cifrado gestionadas por el cliente, en Cifrado, 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 este 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 cuadernos gestionados por usuariosKEY_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.
Vertex AI Workbench crea una instancia de notebooks gestionados por el usuario en función de las propiedades que hayas especificado e inicia la instancia automáticamente. Cuando la instancia esté lista para usarse, Vertex AI Workbench activará un enlace Abrir JupyterLab.
REGION
: la región en la que has creado tu llavero y en la que tienes previsto crear tu instancia de cuadernos gestionados por el usuarioIMAGE_FAMILY
: la familia de imágenes que quieras usar para crear tu instancia de cuadernos gestionados por el usuarioKEY_NAME
: el nombre de la clave que has creado en Crear un conjunto de claves y una claveKMS_PROJECT_ID
: el ID de tu proyecto de Cloud KMSKEY_RING_NAME
: el conjunto de claves que has creado en Crear un conjunto de claves y una clave- Más información sobre las claves de cifrado gestionadas por el cliente en Google Cloud
- Consulta cómo usar CMEK con otros productos Google Cloud.
Configurar el proyecto de cuadernos gestionados por usuarios
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 cuadernos gestionados por usuarios
Para usar CMEK en tu instancia de cuadernos gestionados por el usuario, debes concederle permiso para cifrar y descifrar datos con tu clave.
Determinar la cuenta de servicio que se va a usar
Los cuadernos gestionados por usuarios usan una cuenta de servicio para ejecutar la instancia de cuadernos gestionados por usuarios. Esta cuenta de servicio es la cuenta de servicio predeterminada de Compute Engine o una cuenta de servicio que especifiques al crear la instancia.
Si la cuenta de servicio es la predeterminada de Compute Engine, sigue estos pasos para encontrar su dirección de correo:
Conceder permiso a la cuenta de servicio
Concede permisos mediante la Google Cloud consola o la interfaz de línea de comandos de 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_ACCOUNT \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Haz los cambios siguientes:
Crear una instancia de cuadernos gestionados por usuarios con CMEK
Una vez que hayas concedido a tu instancia de cuadernos gestionados por el usuario permiso para encriptar y desencriptar datos con tu clave, podrás crear una instancia de cuadernos gestionados por el usuario que encripta datos con esta clave.
En los siguientes ejemplos se muestra cómo cifrar y descifrar datos con tu clave mediante la consola Google Cloud o gcloud CLI.
Consola
Para crear una instancia de cuadernos gestionados por usuarios con una clave de cifrado gestionada por el cliente, sigue estos pasos:
gcloud
Para usar gcloud CLI y crear una instancia de cuadernos gestionados por el usuario con una clave de cifrado gestionada por el cliente, ejecuta el siguiente comando.
En este ejemplo, se da por hecho que quieres crear una instancia de cuadernos gestionados por usuarios con un tipo de máquina n1-standard-1
y un disco de arranque persistente estándar de 100 GB.
gcloud notebooks instances create notebook-vm-cmek \ --location=REGION \ --vm-image-family=IMAGE_FAMILY \ --vm-image-project=deeplearning-platform-release \ --machine-type="n1-standard-1" \ --boot-disk-type="PD_STANDARD" \ --boot-disk-size=100 \ --kms-key=KEY_NAME \ --kms-project=KMS_PROJECT_ID \ --kms-location=REGION \ --kms-keyring=KEY_RING_NAME \ --disk-encryption=CMEK \ --metadata='proxy-mode=project_editors'
Haz los cambios siguientes: