Usar 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 y se muestra cómo configurar una instancia de cuadernos gestionados para usar 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, esta se ejecuta en una infraestructura de computación gestionada por Google. Cuando habilitas las CMEKs en una instancia de cuadernos gestionados, Vertex AI Workbench usa la clave que designes en lugar de una clave gestionada por Google para cifrar tus datos de usuario.

La clave CMEK no cifra los metadatos, como el nombre y la región de la instancia, asociados a tu instancia de cuadernos gestionados. Los metadatos asociados a las instancias de cuadernos gestionados 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 gestionados regionales con claves en la misma ubicación.

  • Puedes cifrar instancias de cuadernos gestionados regionales con claves de la misma ubicación o de la ubicación global. Por ejemplo, puedes encriptar datos de usuario en la región us-west1 con una clave de us-west1 o global.
  • Configurar CMEK para los cuadernos gestionados no configura automáticamente CMEK para otros Google Cloud productos 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

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 los permisos de cifrado y descifrado de tu clave, y cómo crear una instancia de cuadernos gestionados que use CMEK.

Antes de empezar

Te recomendamos que utilices una configuración que admita la separación de funciones. Para configurar las claves de cifrado gestionadas por el cliente en notebooks gestionados, puedes usar dos proyectos Google Cloud independientes:

  • Un proyecto de Cloud KMS: un proyecto para gestionar tu clave de cifrado
  • Un proyecto de cuadernos gestionados: un proyecto para acceder a instancias de cuadernos gestionados 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

  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.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Configurar el proyecto de cuadernos gestionados

    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.

      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 the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    3. Verify that billing is enabled for your Google Cloud project.

    4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the API

    5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    6. Verify that billing is enabled for your Google Cloud project.

    7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the API

    8. 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:

      • Cuando elijas la ubicación de tu llavero, usa global o la ubicación en la que se encuentre tu instancia de cuadernos gestionados.

      • Crea el conjunto de claves y la clave en tu proyecto de Cloud KMS.

      Para crear un conjunto de claves y una clave, consulta Crear claves de cifrado simétricas.

      Conceder permisos de cuadernos gestionados

      Si configuras tu instancia con acceso de un solo usuario, debes conceder al proyecto de tu instancia de notebooks gestionados permiso para cifrar y descifrar datos con tu clave. Debes conceder este permiso al agente de servicio de tu proyecto. La dirección de correo del agente de asistencia tiene este aspecto:

      service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com

      Sustituye NOTEBOOKS_PROJECT_NUMBER por el número de proyecto del proyecto de tu instancia de cuadernos gestionados.

      Anota la dirección de correo de tu agente de servicio. La usarás en los pasos siguientes para conceder permiso al proyecto de tu instancia de cuadernos gestionados para encriptar y desencriptar datos con tu clave. Puedes conceder permisos mediante la Google Cloud consola o la CLI de Google Cloud.

      Consola

      1. En la Google Cloud consola, ve a la página Gestión de claves.

        Ir a Gestión de claves

      2. Selecciona tu proyecto de Cloud KMS.

      3. 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.

      4. 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.

      5. 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:

        1. En el campo Miembros nuevos, introduce la dirección de correo del agente de servicio que has anotado en la sección anterior.

        2. 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.

        3. Haz clic en Guardar.

      gcloud

      1. Ejecuta el siguiente comando para conceder al agente de servicio permiso para cifrar y descifrar datos con tu clave:

        gcloud kms keys add-iam-policy-binding KEY_NAME \
            --keyring=KEY_RING_NAME \
            --location=REGION \
            --project=KMS_PROJECT_ID \
            --member=serviceAccount:EMAIL_ADDRESS \
            --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 clave
        • KEY_RING_NAME: el conjunto de claves que has creado en Crear un conjunto de claves y una clave
        • REGION: la región en la que has creado tu conjunto de claves
        • KMS_PROJECT_ID: el ID de tu proyecto de Cloud KMS
        • EMAIL_ADDRESS: la dirección de correo del agente de servicio que has anotado en la sección anterior

      Crear una instancia de cuadernos gestionados con CMEK

      Una vez que hayas concedido a tu instancia de notebooks gestionados permiso para cifrar y descifrar datos con tu clave, podrás crear una instancia de notebooks gestionados que cifre datos con esta clave. Sigue estos pasos:

      1. En la Google Cloud consola, ve a la página Notebooks gestionados.

        Ir a Cuadernos gestionados

      2. Haz clic en  Nuevo cuaderno.

      3. En el campo Nombre del cuaderno, introduce un nombre para la instancia.

      4. Haz clic en la lista Región y selecciona una región para tu instancia.

      5. Haz clic en Configuración avanzada.

      6. En la sección Cifrado de disco, selecciona Clave de cifrado gestionada por el cliente (CMEK).

      7. 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:

      8. Completa el resto del cuadro de diálogo Crear un cuaderno gestionado según tus necesidades.

      9. Haz clic en Crear.

      10. Vertex AI Workbench crea una instancia de cuaderno gestionado 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.

      Siguientes pasos