Usar claves de encriptación administradas por el cliente

De forma predeterminada, Vertex AI Workbench encripta el contenido del cliente en reposo. Vertex AI Workbench 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 Vertex AI Workbench. 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 Vertex AI Workbench 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 página, se describen algunos beneficios y limitaciones específicos del uso de CMEK con notebooks administrados y se muestra cómo configurar una instancia de notebook nueva administrada para usar CMEK.

Beneficios de CMEK

En general, las CMEK son más útiles si necesitas control total sobre las claves que se usan para encriptar los datos. Mediante CMEK, puedes administrar las claves dentro de Cloud Key Management Service. Por ejemplo, puedes rotar o inhabilitar una clave, o bien puedes configurar una programación de rotación mediante la API de Cloud KMS.

Cuando ejecutas una instancia de notebooks administrados, esta se ejecuta en una infraestructura de procesamiento administrada por Google. Cuando habilitas CMEK para una instancia de notebooks administrados, Vertex AI Workbench usa la clave que designes, en lugar de una clave administrada por Google, para encriptar tus datos de usuario.

La clave CMEK no encripta los metadatos, como el nombre y la región de la instancia, asociados con tu instancia de notebook administrada. Los metadatos asociados con las instancias de notebooks administrados siempre se encriptan mediante el mecanismo de encriptación predeterminado de Google.

Limitaciones de CMEK

Para disminuir la latencia y evitar que los recursos dependan de los servicios distribuidos en varios dominios con fallas, Google recomienda proteger las instancias de notebooks regionales administrados con claves en la misma ubicación.

  • Puedes encriptar instancias de notebooks administrados regionales mediante claves en la misma ubicación o en la ubicación global. Por ejemplo, puedes encriptar datos del usuario en la región us-west1 mediante una clave en us-west1 o global.
  • La configuración de CMEK para notebooks administrados no configura de forma automática las CMEK en otros productos de Google Cloud que uses. Para usar CMEK a fin de encriptar datos en otros productos de Google Cloud, debes completar la configuración adicional.

Configura CMEK para la instancia de notebooks administrados

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 cuenta de servicio para tu clave y cómo crear una instancia de notebooks administrados que use CMEK.

Antes de comenzar

Recomendamos usar una configuración que admita una separación de obligaciones. Si deseas configurar CMEK para notebooks administrados, puedes usar dos proyectos de Google Cloud diferentes:

  • Un proyecto de Cloud KMS: un proyecto para administrar tu clave de encriptación
  • Un proyecto de notebooks administrado: un proyecto para acceder a instancias de notebooks administrados y, también, interactuar con cualquier otro producto de Google Cloud que necesites para tu caso de uso

Como alternativa, puedes usar un solo proyecto de Google Cloud. Para hacerlo, usa el mismo proyecto para todas las tareas siguientes.

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

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

Configura el proyecto de notebooks administrados

  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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Configura la CLI de Google Cloud

gcloud CLI es obligatoria en algunos pasos de esta página y opcional en otros.

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

Crea un llavero de claves y una clave

Cuando crees un llavero de claves y una clave, ten en cuenta los siguientes requisitos:

  • Cuando elijas la ubicación de tu llavero de claves, usa global o la ubicación en la que se encuentra la instancia de notebooks administrados.

  • Asegúrate de crear el llavero de claves y la clave en el proyecto de Cloud KMS.

Para crear un llavero de claves y una clave, consulta Crea claves de encriptación simétricas.

Otorga permisos de notebooks administrados

Si configuras tu instancia con acceso de usuario único, debes otorgar permiso a tu proyecto de instancia de notebooks administrados para encriptar y desencriptar datos con tu clave. Otorgas este permiso al agente de servicio de tu proyecto. La dirección de correo electrónico de este agente de servicio se ve de la siguiente manera:

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

Reemplaza NOTEBOOKS_PROJECT_NUMBER por el número del proyecto de la instancia de notebooks administrados.

Toma nota de la dirección de correo electrónico de tu agente de servicio. La usarás en los siguientes pasos para otorgar permiso al proyecto de tu instancia de notebooks administrados para encriptar y desencriptar datos con tu clave. Puedes otorgar permisos mediante la consola de Google Cloud o mediante la CLI de Google Cloud.

Console

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

    Ir a Administración de claves

  2. Selecciona tu proyecto de Cloud KMS.

  3. Haz clic en el nombre del llavero de claves que creaste en Crea un llavero de claves y una clave. Se abrirá la página Detalles del llavero de claves.

  4. Selecciona la casilla de verificación de la clave que creaste en Crea un llavero de claves y una clave. 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.

  5. En el panel de información, haz clic en  Agregar miembro. Se abre el cuadro de diálogo Agregar miembros a “KEY_NAME. En este cuadro de diálogo, haz la siguiente acción:

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

    2. En la lista Seleccionar una función, haz clic en Cloud KMS y, luego, selecciona la función Encriptador/desencriptador de CryptoKey de Cloud KMS.

    3. Haz clic en Guardar.

gcloud

  1. Ejecuta el siguiente comando a fin de otorgar permiso al agente del servicio para encriptar y desencriptar 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
    

    Reemplaza lo siguiente:

    • KEY_NAME: Es el nombre de la clave que creaste en Crea un llavero de claves y una clave.
    • KEY_RING_NAME: Es el llavero de claves que creaste en Crea un llavero de claves y una clave.
    • REGION: Es la región en la que creaste el llavero de claves.
    • KMS_PROJECT_ID: Es el ID del proyecto de Cloud KMS.
    • EMAIL_ADDRESS: la dirección de correo electrónico del agente de servicio que anotaste en la sección anterior.

Crea una instancia de notebooks administrados con CMEK

Después de otorgar a tu instancia de notebooks administrados permiso para encriptar y desencriptar datos con tu clave, puedes crear una instancia de notebooks administrados que encripte los datos con esta clave. Para ello, sigue estos pasos:

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

    Ir a Notebooks administrados

  2. Haz clic en  Notebook nuevo.

  3. En el campo Nombre del notebook, ingresa un nombre para tu 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 Encriptación de disco, selecciona Clave de encriptación administrada por el cliente (CMEK).

  7. Haz clic en Selecciona una clave administrada por el cliente.

    • Si la clave administrada por el cliente que deseas usar está en la lista, selecciónala.

    • Si la clave administrada por el cliente que deseas usar no está en la lista, ingresa el ID de recurso de tu clave administrada por el cliente. El ID de recurso de tu clave administrada por el cliente será similar al siguiente:

        projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

      Reemplaza lo siguiente:

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

  9. Haz clic en Crear.

  10. Vertex AI Workbench crea una instancia de notebook administrada en función de las propiedades que especificaste y, luego, inicia la instancia de forma automática. Cuando la instancia está lista para usarse, Vertex AI Workbench activa un vínculo Abrir JupyterLab.

¿Qué sigue?