Controles del servicio de VPC con Gemini Enterprise Agent Platform

Los Controles del servicio de VPC pueden ayudarte a mitigar el riesgo de robo de datos de Gemini Enterprise Agent Platform. Usa los Controles del servicio de VPC para crear un perímetro de servicio que proteja los recursos y datos que especifiques. Por ejemplo, cuando usas los Controles del servicio de VPC para proteger Agent Platform, los siguientes artefactos no pueden salir de tu perímetro de servicio:

  • Datos de entrenamiento de un modelo de AutoML o un modelo personalizado
  • Modelos que creaste
  • Modelos que buscaste con Neural Architecture Search de Agent Platform
  • Solicitudes de inferencias en línea
  • Resultados de una solicitud de inferencia por lotes
  • Modelos de Gemini

Controla el acceso a las APIs de Google

Las APIs de Agent Platform, como se describe en Accede a Gemini Enterprise Agent Platform desde entornos locales y de múltiples nubes, abarcan una variedad de opciones de accesibilidad, incluidas Internet pública, Private Service Connect para las APIs de Google y Acceso privado a Google.

Acceso público

De forma predeterminada, se puede acceder a estas APIs públicas desde Internet. Sin embargo, se requieren permisos de IAM para su uso. Si bien las funciones como Private Service Connect para las APIs de Google y el Acceso privado a Google facilitan la comunicación privada a través de arquitecturas de red híbridas, no eliminan la accesibilidad a Internet pública para las APIs de Agent Platform.

Para establecer un control detallado sobre el acceso a la API y restringir de forma explícita la exposición a Internet pública, la implementación de los Controles del servicio de VPC se vuelve esencial. Cuando estableces un perímetro de Controles del servicio de VPC (VPC-SC) e incluyes Gemini Enterprise en sus servicios protegidos, se bloquea automáticamente todo el acceso a Internet pública a tu instancia de Agent Platform. Como resultado, a los usuarios que intentan acceder a los servicios de Agent Platform de forma programática o con la consola de Google Google Cloud se les deniega el acceso, a menos que se incluyan en una lista de entidades permitidas.

Para restablecer el acceso a fuentes autorizadas fuera del perímetro (por ejemplo, usuarios en tus oficinas corporativas), consulta Permite el acceso al extremo público a recursos protegidos desde fuera de un perímetro de Controles del servicio de VPC para obtener instrucciones de implementación.

Acceso privado

Las organizaciones que necesitan restringir las APIs públicas de Google al acceso privado pueden usar los Controles del servicio de VPC en combinación con Private Service Connect para las APIs de Google (paquete de Controles del servicio de VPC) o el Acceso privado a Google. Cuando se implementan en redes híbridas y dentro de ellas Google Cloud, ambas opciones permiten el acceso privado a las APIs de Google desde entornos locales. Sin embargo, Private Service Connect para las APIs de Google también ofrece flexibilidad para definir una dirección IP personalizada y un nombre de extremo de DNS.

Como práctica recomendada, usa la IP virtual (VIP) restringida con Private Service Connect para las APIs de Google o el Acceso privado a Google para proporcionar una ruta de red privada para las solicitudes a los Google Cloud servicios sin exponer las solicitudes a Internet. La VIP restringida admite todas las APIs que los Controles del servicio de VPC pueden proteger y que requieren consideraciones para las redes de VPC y locales. A continuación, se muestran algunos ejemplos:

Controla el acceso a la API a través del acceso privado a servicios

Las siguientes APIs de Agent Platform implementadas con acceso privado a servicios requieren una configuración de redes adicional cuando se implementan en un entorno protegido con los Controles del servicio de VPC:

  • Vector Search (consulta de índices)
  • Entrenamiento personalizado (plano de datos)
  • Canalizaciones de Agent Platform
  • Extremos de predicción en línea privados

Por ejemplo, las canalizaciones de Agent Platform son un servicio administrado por Google (productor) que se implementa en un proyecto de un solo tenant y una red de VPC con la capacidad de escalar los servicios admitidos según los requisitos del consumidor. La comunicación entre las redes de productores y consumidores se establece con el intercambio de tráfico entre redes de VPC, excepto la salida de Internet, que se enruta a través de la red de productores.

En la red de productores, existe una ruta predeterminada que permite la salida de Internet, además del acceso sin restricciones a las APIs de Google. La actualización de la red de productores para admitir la VIP restringida requiere habilitar los Controles del servicio de VPC para los intercambios de tráfico, que realizan las siguientes acciones en todos los servicios admitidos implementados en tu red de productores de redes de servicios:

  • Quita la ruta IPv4 predeterminada (destino 0.0.0.0/0, siguiente salto de la puerta de enlace de Internet predeterminada).
  • Crea zonas privadas administradas por Cloud DNS y autoriza esas zonas para la red de VPC del productor de servicios. Las zonas incluyen googleapis.com, pkg.dev, gcr.io y otros dominios o nombres de host necesarios para los servicios y las APIs de Google que son compatibles con los Controles del servicio de VPC.
  • Los datos de registro en las zonas resuelven todos los nombres de host en 199.36.153.4, 199.36.153.5, 199.36.153.6 y 199.36.153.7.

Un método alternativo para quitar la ruta predeterminada de la red de productores sin afectar los servicios administrados por Google existentes es usar una VPN con alta disponibilidad a través de Cloud Interconnect que consta de los siguientes pasos:

  1. Implementa una red de VPC de servicios, además de una VPN con alta disponibilidad, en la red de VPC del consumidor.
  2. Implementa servicios administrados por Google en la red de VPC de servicios.
  3. Habilita los Controles del servicio de VPC para los intercambios de tráfico.
  4. Anuncia la subred de acceso privado a servicios como un anuncio de ruta personalizado desde Cloud Router si los servicios administrados requieren accesibilidad local.
  5. Actualiza el intercambio de tráfico de la red de VPC de redes de servicios con la opción de exportar rutas personalizadas.

Compatibilidad con los Controles del servicio de VPC para las canalizaciones de ajuste de la IA generativa

La compatibilidad con los Controles del servicio de VPC se proporciona en la canalización de ajuste de los siguientes modelos:

  • text-bison for PaLM 2
  • BERT
  • T5
  • La familia de modelos textembedding-gecko.

Usa los Controles del servicio de VPC con las canalizaciones de Gemini Enterprise Agent Platform

El perímetro de servicio bloquea el acceso desde Agent Platform a las APIs y los servicios de terceros en Internet. Si usas Google Cloud componentes de canalización o creas tus propios componentes de canalización personalizados para usarlos con las canalizaciones de Agent Platform, no puedes instalar dependencias de PyPI desde el registro público del índice de paquetes de Python (PyPI). En su lugar, debes hacer una de las siguientes acciones:

Usar contenedores personalizados

Como práctica recomendada de software de producción, los autores de componentes deben usar componentes de Python en contenedores y compilar las dependencias en su imagen de contenedor, de modo que no se requiera ninguna instalación en vivo durante la ejecución de una canalización. Una forma de hacerlo es la siguiente:

  1. Compila tu propia imagen de contenedor con el SDK de Kubeflow Pipelines y otros paquetes preinstalados. Por ejemplo, puedes usar us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-17:latest como la capa base de tu imagen y agregar una capa adicional para instalar los paquetes en el tiempo de compilación del contenedor.
  2. Actualiza el código de definición de tu componente para establecer la ruta de base_image y la marca install_kfp_package en False. Esta marca le indica al compilador de KFP que no inserte un comando pip install kfp en la línea de comandos del contenedor, ya que el paquete del SDK de Kubeflow Pipelines ya está instalado en la imagen. Por ejemplo:

    @component(
        base_image='gcr.io/deeplearning-platform-release/tf-cpu.2-17',
        install_kfp_package=False,
    )
    def my_component(...):
        ...
    

Instala paquetes desde un repositorio de Artifact Registry

Como alternativa, puedes crear un repositorio de Artifact Registry en tu proyecto, almacenar paquetes de Python en él y configurar tu entorno de Agent Platform para instalar desde él como se describe en esta sección. Para obtener más información, consulta Administra paquetes de Python.

Configura roles y permisos

  1. La cuenta de servicio de tu entorno de Agent Platform debe tener el rol iam.serviceAccountUser.
  2. Si instalas paquetes de PyPI personalizados desde un repositorio en la red de tu proyecto y este repositorio no tiene una dirección IP pública, haz lo siguiente:
    1. Asigna permisos para acceder a este repositorio a la cuenta de servicio del entorno.
    2. Asegúrate de que la conectividad a este repositorio esté configurada en tu proyecto.

Crea el repositorio

  1. Crea un repositorio de Artifact Registry en modo VPC en tu proyecto.
  2. Almacena los paquetes de Python necesarios en el repositorio.

Configura el entorno de Agent Platform para instalar desde el repositorio

Para instalar paquetes de PyPI personalizados desde uno o más repositorios de Artifact Registry, realiza una llamada similar a la siguiente a @dsl.component:

@dsl.component(packages_to_install=["tensorflow"],
pip_index_urls=['https://us-central1-python.pkg.dev/mygcpproject1/pypi-repo1/simple', 'https://us-central1-python.pkg.dev/mygcpproject2/pypi-repo2/simple'],)
def hello_world(text: str) -> str:
    import my_package
    import tensorflow

    return my_package.hello_world(text)

Usa los Controles del servicio de VPC con la interfaz de PSC

Las siguientes APIs de Agent Platform implementadas con la interfaz de conexión de servicios privados requieren una configuración de red adicional cuando se implementan en un entorno protegido con los Controles del servicio de VPC:

  • Entrenamiento personalizado (plano de datos)
  • Canalizaciones de Agent Platform
  • Extremos de inferencia en línea privados
  • Agent Runtime

La capacidad del servicio de los productores de Agent Platform para acceder a Internet pública depende de la configuración de seguridad de tu proyecto, en particular, si usas o no los Controles del servicio de VPC:

  • Sin los Controles del servicio de VPC: El tenant administrado por Google que aloja Agent Platform conserva su acceso predeterminado a Internet. Este tráfico saliente sale directamente del entorno seguro administrado por Google en el que se ejecuta tu servicio de productor. La excepción a este comportamiento es Agent Runtime, que no proporciona salida de Internet. En su lugar, debes implementar una VM de proxy con una dirección RFC 1918 para la salida de Internet.

  • Con los Controles del servicio de VPC: Cuando tu proyecto está encerrado en un perímetro de Controles del servicio de VPC (VPC-SC), el entorno administrado por Google que aloja Agent Platform tiene bloqueado su acceso predeterminado a Internet. Esta restricción es una medida de seguridad diseñada para evitar el robo de datos. Para permitir que Agent Platform acceda a Internet pública en esta situación, debes configurar de forma explícita una ruta de salida segura que enrute el tráfico a través de tu red de VPC.

El método recomendado incluye lo siguiente:

  1. Implementar un servidor proxy dentro de tu perímetro de VPC en una subred RFC 1918.
  2. Crear una puerta de enlace de Cloud NAT para permitir que la VM de proxy llegue a Internet.
  3. Definir el servidor proxy (dirección IP o FQDN) en tu entorno de ejecución.

No hay un proxy de red prescrito o preferido para esta tarea. Puedes usar cualquier solución adecuada. Algunos ejemplos son: proxy de Squid, HAProxy, Envoy, y TinyProxy.

Creación del perímetro de servicio

Para obtener una descripción general de la creación de un perímetro de servicio, consulta Crea un perímetro de servicio en la documentación de Controles del servicio de VPC.

Agrega servicios restringidos a tu perímetro

Cuando establezcas un perímetro de servicio, te recomendamos que incluyas todos los servicios restringidos como una práctica recomendada de seguridad. Este enfoque integral ayuda a minimizar las posibles vulnerabilidades y el acceso no autorizado. Sin embargo, es posible que haya situaciones en las que tu organización tenga requisitos específicos enfocados en proteger Gemini Enterprise Agent Platform y sus APIs interconectadas. En esos casos, tienes la flexibilidad de seleccionar e incluir solo las APIs de Agent Platform específicas que son esenciales para tus operaciones.

Las APIs de Agent Platform que puedes incorporar a tu perímetro de servicio incluyen las siguientes:

  • Gemini Enterprise admite los siguientes servicios y funciones:
    • Inferencia por lotes
    • Conjuntos de datos
    • Agent Platform Feature Store (entrega en línea de Bigtable)
    • Agent Platform Feature Store (entrega en línea optimizada) (obsoleto)
    • IA generativa en Gemini Enterprise Agent Platform (Gemini)
    • Model Registry
    • Inferencia en línea
    • Ajuste de modelos abiertos
    • Vector Search (creación de índices)
    • Vector Search (consulta de índices)
    • Entrenamiento personalizado (plano de control)
    • Entrenamiento personalizado (plano de datos)
    • Canalizaciones de Agent Platform
    • Extremos de inferencia en línea privados
    • Colab Enterprise
    • Agent Runtime
    • Clústeres de entrenamiento administrados
  • La API de Notebooks admite el siguiente servicio:
    • Vertex AI Workbench

Limitaciones

Las siguientes limitaciones se aplican cuando usas los Controles del servicio de VPC:

  • Para el etiquetado de datos, debes agregar las direcciones IP de los etiquetadores a un nivel de acceso.
  • En el caso de los componentes de canalización Google Cloud , estos inician contenedores que verifican su imagen base en busca de todos los requisitos. El paquete de KFP, así como cualquier paquete enumerado en el argumento packages_to_install, son los requisitos para un contenedor. Si alguno de los requisitos especificados aún no está presente en la imagen base (ya sea proporcionado o personalizado), el componente intenta descargarlos del índice de paquetes de Python (PyPI). Debido a que el perímetro de servicio bloquea el acceso desde Gemini Enterprise Agent Platform a las APIs y los servicios de terceros en Internet, la descarga falla con Connection to pypi.org timed out. Para evitar este error, consulta Usa los Controles del servicio de VPC con las canalizaciones de Agent Platform.
  • Cuando usas los Controles del servicio de VPC con kernels personalizados en Vertex AI Workbench, debes configurar el intercambio de tráfico de DNS a fin de enviar solicitudes para *.notebooks.googleusercontent.com a la subred 199.36.153.8/30 (private.googleapis.com) en lugar de 199.36.153.4/30 (restricted.googleapis.com).
  • Cuando usas los Controles del servicio de VPC con Vertex AI Inference, los extremos deben crearse después de que se agrega el proyecto al perímetro de servicio. Si se crea un extremo en un proyecto que no forma parte de un perímetro de servicio y, luego, se agrega ese proyecto a un perímetro de servicio, se producirá un error al intentar implementar un modelo en ese extremo. Si el extremo es un extremo público compartido, entonces también fallará el envío de una solicitud al extremo. Del mismo modo, se producirá un error al intentar implementar un modelo en un extremo si este se creó en un proyecto que formaba parte de un perímetro de servicio y, luego, se quitó el proyecto.
  • Cuando usas los Controles del servicio de VPC con Agent Runtime, el proyecto debe formar parte de un perímetro de servicio antes de implementar el agente. Si se implementa un agente antes de que se agregue el proyecto a un perímetro, los Controles del servicio de VPC no lo protegerán y seguirá teniendo acceso a Internet pública.
  • Las implementaciones públicas de 1 clic de Model Garden (extremo dedicado) no son compatibles con un entorno de VPC-SC. En su lugar, usa un extremo privado que admita los Controles del servicio de VPC. Para obtener más información, consulta Implementa un modelo en un extremo privado.
  • El registro de solicitudes y respuestas no está disponible con los Controles del servicio de VPC.

¿Qué sigue?