Los Controles del servicio de VPC pueden ayudarte a mitigar el riesgo de robo de datos de Vertex AI. 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 Vertex AI, 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
- Solicitudes de predicciones en línea
- Resultados de una solicitud de predicción por lotes
- Modelos de Gemini
Controla el acceso a las APIs de Google
Las APIs de Vertex AI, como se describe en Cómo acceder a Vertex AI desde instalaciones locales y multinube, incluyen 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 funciones como Private Service Connect y 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 Vertex AI.
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. Esta capa de seguridad permite a los administradores definir y aplicar políticas de acceso, habilitando de forma selectiva la conectividad pública o privada a las APIs de Google para satisfacer los requisitos de la organización.
Acceso privado
Las organizaciones que necesiten restringir las APIs públicas de Google al acceso privado pueden usar los Controles del servicio de VPC en combinación con las APIs de Google de Private Service Connect (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 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 restringida (VIP) con las APIs de Private Service Connect 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 a servicios privados
Las siguientes APIs de Vertex AI implementadas con acceso a servicios privados requieren una 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)
- Vertex AI Pipelines
- Extremos de predicción en línea privados
Por ejemplo, Vertex AI Pipelines es un servicio administrado por Google (productor) que se implementa en un proyecto de inquilino único y una red de VPC con la capacidad de escalar los servicios compatibles 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 a 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 de un acceso sin restricciones a las APIs de Google. Para actualizar la red del productor para admitir la VIP restringida, debes habilitar los Controles del servicio de VPC para el intercambio de tráfico, que realiza las siguientes acciones en todos los servicios compatibles implementados en la red del productor de redes de servicios:
- Quita la ruta predeterminada IPv4 (destino
0.0.0.0/0
, puerta de enlace de Internet predeterminada de siguiente salto). - Crea zonas privadas administradas por Cloud DNS y las autoriza 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 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 a
199.36.153.4
,199.36.153.5
,199.36.153.6
y199.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 una VPN con alta disponibilidad mediante Cloud Interconnect, que consta de los siguientes pasos:
- Implementa una red de VPC de servicios además de la VPN con alta disponibilidad en la red de VPC del consumidor.
- Implementa servicios administrados por Google en la red de VPC de los servicios.
- Habilita los Controles del servicio de VPC para el intercambio de tráfico.
- Anuncia la subred de acceso a servicios privados como un anuncio de ruta personalizado desde Cloud Router si los servicios administrados requieren disponibilidad de acceso local.
- Actualiza el intercambio de tráfico entre redes de VPC de las herramientas de redes de servicios con la opción para exportar rutas personalizadas.
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.
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 Vertex AI y sus APIs interconectadas. En esos casos, tienes la flexibilidad de seleccionar e incluir solo las APIs específicas de Vertex AI que son esenciales para tus operaciones.
Las APIs de Vertex AI que puedes incorporar a tu perímetro de servicio incluyen las siguientes:
- La API de Vertex AI
es compatible con los siguientes servicios y funciones:
- Predicción por lotes
- Conjuntos de datos
- Vertex AI Feature Store (entrega en línea de Bigtable)
- Vertex AI Feature Store (entrega en línea optimizada)
- IA generativa en Vertex AI (Gemini)
- Vertex AI Model Registry
- Predicción en línea
- Vector Search (creación de índices)
- Vector Search (consulta de índices)
- Entrenamiento personalizado (plano de control)
- Entrenamiento personalizado (plano de datos)
- Vertex AI Pipelines
- Extremos de predicción en línea privados
- Colab Enterprise
- La API de Notebooks
admite el siguiente servicio:
- Vertex AI Workbench
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 Vertex AI Pipelines
El perímetro de servicio bloquea el acceso de Vertex AI a las APIs y los servicios de terceros en Internet. Si usas componentes de canalización de Google Cloud o creas tus propios componentes de canalización personalizados para usarlos con Vertex AI Pipelines, no puedes instalar dependencias de PyPI desde el registro público del índice de paquetes de Python (PyPI). En su lugar, 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 una ejecución de canalización. El SDK de Kubeflow Pipelines ofrece una forma de contenerizar tu código de Python. Para obtener más información, consulta Componentes de Python en contenedores.
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 Vertex AI 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
La cuenta de servicio de tu entorno de Vertex AI debe tener el rol
iam.serviceAccountUser
.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:
Asigna permisos de acceso a este repositorio a la cuenta de servicio del ambiente.
Asegúrate de que la conectividad a este repositorio esté configurada en tu proyecto.
Crea el repositorio
- Crea un repositorio de Artifact Registry en modo de VPC en tu proyecto.
- Almacena los paquetes de Python necesarios en el repositorio.
Configura el entorno de Vertex AI para instalarlo 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=['http://myprivaterepo.com/simple', 'http://pypi.org/simple'],)
def hello_world(text: str) -> str:
import my_package
import tensorflow
return my_package.hello_world(text)
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 de 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 los requisitos especificados aún no están presentes en la imagen base (ya sea proporcionada o personalizada), el componente intentará descargarlos del Índice de paquetes de Python (PyPI). Debido a que el perímetro de servicio bloquea el acceso de Vertex AI a las APIs y los servicios de terceros en Internet, la descarga falla conConnection to pypi.org timed out
. Para obtener información sobre cómo evitar este error, consulta Cómo usar los Controles del servicio de VPC con canalizaciones de Vertex AI. - 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
).
¿Qué sigue?
- Mira el video Controles del servicio de VPC: Cómo segmentar tus proyectos de la nube en una VPC compartida.
- Mira el video Cómo usar el modo de ejecución de prueba en los Controles del servicio de VPC.
- Obtén más información sobre los controles de servicio de VPC.
- Obtén más información sobre los roles necesarios de los Controles del servicio de VPC.
- Obtén información para solucionar problemas de los Controles del servicio de VPC.