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 la 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 Cómo acceder a Agent Platform de Gemini Enterprise desde entornos locales y de varias nubes, abarcan una variedad de opciones de accesibilidad, como 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 usarlas. 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 redes 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 explícitamente 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) y agregas Gemini Enterprise a sus servicios protegidos, se bloquea automáticamente todo el acceso público a Internet a tu instancia de Agent Platform. Como resultado, se les deniega el acceso a los usuarios que intentan acceder a los servicios de Agent Platform de forma programática o con la consola de Google Google Cloud , a menos que se incluyan en una lista de entidades permitidas.

Para restablecer el acceso de las fuentes autorizadas fuera del perímetro (por ejemplo, los usuarios de tus oficinas corporativas), consulta Permite el acceso a extremos públicos 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 a través de redes híbridas y dentro de Google Cloud, ambas opciones habilitan el acceso privado a las APIs de Google desde las instalaciones 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 servicios de Google Cloud 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 locales y de VPC. A continuación, se incluyen 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 configuración de red adicional cuando se implementan en un entorno protegido con 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, Agent Platform Pipelines es un servicio administrado por Google (productor) que se implementa en un proyecto y una red de VPC de usuario único con la capacidad de escalar los servicios admitidos según los requisitos del consumidor. La comunicación entre las redes del productor y del consumidor 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 del productor.

En la red del productor, existe una ruta predeterminada que permite la salida a Internet, además del acceso sin restricciones a las APIs de Google. Para actualizar la red del productor de modo que admita la VIP restringida, se debe habilitar Controles del servicio de VPC para intercambios de tráfico, que realiza las siguientes acciones en todos los servicios admitidos implementados en la red del productor de Herramientas de redes de servicios:

  • Quita la ruta IPv4 predeterminada (destino 0.0.0.0/0, siguiente salto de 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 nombres de host o dominios necesarios para las APIs y los servicios 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 del productor sin afectar los servicios existentes administrados por Google es usar la VPN con alta disponibilidad sobre Cloud Interconnect, que consta de los siguientes pasos:

  1. Implementa una red de VPC de servicios además de la 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 el intercambio 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 entre redes de VPC de las Herramientas de redes de servicios con la opción 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 los canales 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 componentes deGoogle Cloud Pipeline o creas tus propios componentes de canalización personalizados para usarlos con Agent Platform Pipelines, no puedes instalar dependencias de PyPI desde el registro público del índice de paquetes de Python (PyPI). En cambio, debes realizar 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 una instalación activa durante la ejecución de una canalización. Una forma de hacerlo es la siguiente:

  1. Crea 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 durante el tiempo de compilación del contenedor.
  2. Actualiza el código de definición del componente para establecer la ruta de acceso base_image y la marca install_kfp_package en False. Esta marca 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 que se instale desde allí, 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 personalizados de PyPI 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 de 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 personalizados de PyPI 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, específicamente de si usas o no los Controles del servicio de VPC:

  • Sin Controles del servicio de VPC: El inquilino administrado por Google que aloja la 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 el entorno de ejecución del agente, que no proporciona salida a Internet. En cambio, debes implementar una VM proxy con una dirección RFC 1918 para la salida a Internet.

  • Con los Controles del servicio de VPC: Cuando tu proyecto está incluido en un perímetro de los Controles del servicio de VPC (VPC-SC), se bloquea el acceso predeterminado a Internet del entorno administrado por Google que aloja Agent Platform. 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 implica 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 acceda 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 cómo crear un perímetro de servicio, consulta Crea un perímetro de servicio en la documentación de Controles del servicio de VPC.

Cómo agregar 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 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 específicas de Agent Platform 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 Google Cloud componentes de canalización, 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 proporcionada o personalizada), el componente intenta descargarlos del Índice de paquetes de Python (PyPI). Debido a que el perímetro de servicio bloquea el acceso de 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 conocer las formas de evitar este error, consulta Usa los Controles del servicio de VPC con Agent Platform Pipelines.
  • Cuando usas los Controles del servicio de VPC con kernels personalizados en Agent Platform Workbench, debes configurar el intercambio de tráfico de DNS para 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 se usan los Controles del servicio de VPC con Vertex AI Inference, los extremos se deben crear después de que el proyecto se agregue 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, ese proyecto se agrega 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, también fallará el envío de una solicitud al extremo. Del mismo modo, si intentas implementar un modelo en un extremo, se producirá un error si el extremo 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 que implementes 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 protegerán el agente, y este seguirá teniendo acceso a Internet pública.
  • Las implementaciones públicas con 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?