1. Introducción
Descripción general
En este lab, mitigarás las amenazas comunes a la infraestructura de un entorno de desarrollo de IA. Implementas controles de seguridad diseñados para proteger los componentes principales de este entorno.
Contexto
Eres el campeón de seguridad de tu equipo de desarrollo y tu objetivo es crear un entorno que equilibre la mínima fricción de uso con la protección contra amenazas comunes.
En la siguiente tabla, se enumeran las amenazas que más te preocupan mitigar. Cada amenaza se aborda con una tarea específica dentro de este lab:
Amenaza | Mitigación | Tarea cubierta |
Ingreso no autorizado a la red a través de puertos abiertos explotados | Crea una VPC privada y limita el acceso a Vertex AI a un solo usuario a través de un proxy de Google Cloud en lugar de una dirección IP pública. | Configura una base de red segura |
Se produce una elevación de privilegios desde una instancia de procesamiento comprometida con credenciales con privilegios excesivos. | Crea y asigna una cuenta de servicio con privilegios mínimos a la instancia de Vertex AI. | Implementa una instancia segura de Vertex AI Workbench |
La apropiación de la instancia del recurso de procesamiento, lo que provoca la manipulación del sistema | Protege la instancia inhabilitando el acceso raíz y habilitando el inicio seguro. | Implementa una instancia segura de Vertex AI Workbench |
Exposición pública accidental de datos de entrenamiento y modelos debido a una configuración incorrecta del almacenamiento | Aplica la prevención de acceso público en el bucket y usa controles de acceso uniformes a nivel del bucket. | Implementa un bucket seguro de Cloud Storage |
Eliminación o manipulación maliciosa o accidental de conjuntos de datos y artefactos de modelos | Habilita el control de versiones de objetos para la recuperación y los registros de acceso a los datos para un registro de auditoría inmutable de toda la actividad. | Implementa un bucket seguro de Cloud Storage |
Referencia rápida
A lo largo de este lab, trabajarás con estos recursos con nombre:
Componente | Nombre |
Nombre de la VPC |
|
Nombre de la subred |
|
Cloud Router |
|
Cloud NAT |
|
Cuenta de servicio |
|
Instancia de Vertex AI |
|
Bucket de almacenamiento |
|
Qué aprenderás
En este lab, aprenderás a realizar las siguientes tareas:
- Aprovisiona una VPC segura con redes privadas para mitigar el tráfico no solicitado.
- Protege una instancia de Vertex AI Workbench contra bootkits y la escalación de privilegios.
- Protege un bucket de Cloud Storage para mitigar la transferencia de datos no supervisada y la exposición pública accidental.
2. Configura el proyecto
Cuenta de Google
Si aún no tienes una Cuenta de Google personal, debes crear una.
Usa una cuenta personal en lugar de una cuenta de trabajo o institución educativa.
Accede a la consola de Google Cloud
Accede a la consola de Google Cloud con una Cuenta de Google personal.
Habilitar facturación
Canjea USD 5 en créditos de Google Cloud (opcional)
Para realizar este taller, necesitas una cuenta de facturación con algo de crédito. Si planeas usar tu propia facturación, puedes omitir este paso.
- Haz clic en este vínculo y accede con una Cuenta de Google personal. Verás algo como esto:

- Haz clic en el botón HAZ CLIC AQUÍ PARA ACCEDER A TU CRÉDITO. Esto te dirigirá a una página para configurar tu perfil de facturación

- Haz clic en Confirmar.
Ahora estás conectado a una cuenta de facturación de prueba de Google Cloud Platform.

Configura una cuenta de facturación personal
Si configuraste la facturación con créditos de Google Cloud, puedes omitir este paso.
Para configurar una cuenta de facturación personal, ve aquí para habilitar la facturación en la consola de Cloud.
Algunas notas:
- Completar este lab debería costar menos de USD 1 en recursos de Cloud.
- Puedes seguir los pasos al final de este lab para borrar recursos y evitar cargos adicionales.
- Los usuarios nuevos pueden acceder a la prueba gratuita de USD 300.
Crear un proyecto (opcional)
Si no tienes un proyecto actual que quieras usar para este lab, crea uno nuevo aquí.
3. Habilita las APIs
Configura Cloud Shell
Una vez que se haya creado tu proyecto correctamente, sigue estos pasos para configurar Cloud Shell.
Inicia Cloud Shell
Navega a shell.cloud.google.com y, si ves una ventana emergente que te pide que autorices, haz clic en Autorizar.
Configura el ID del proyecto
Ejecuta el siguiente comando en la terminal de Cloud Shell para establecer el ID del proyecto correcto. Reemplaza <your-project-id> por el ID del proyecto real que copiaste en el paso de creación del proyecto anterior.
gcloud config set project <your-project-id>
Ahora deberías ver que se seleccionó el proyecto correcto en la terminal de Cloud Shell.
Habilita Vertex AI Workbench y Cloud Storage
Para usar los servicios en este lab, debes habilitar las APIs de Compute Engine, Vertex AI Workbench, IAM y Cloud Storage en tu proyecto de Google Cloud.
- En la terminal, habilita las APIs:
gcloud services enable compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com iam.googleapis.com storage.googleapis.com
Como alternativa, puedes habilitar estas APIs navegando a sus respectivas páginas en la consola y haciendo clic en Habilitar.
4. Configura una base de red segura
En esta tarea, crearás un entorno de red aislado para todos tus servicios. Si usas una red privada y controlas los flujos de datos, crearás una defensa de varias capas para reducir significativamente la superficie de ataque de tu infraestructura en comparación con los recursos accesibles de forma pública. Esta base de red segura es fundamental para proteger tus aplicaciones de IA del acceso no autorizado.
Crea la VPC y la subred
En este paso, configurarás una nube privada virtual (VPC) y una subred. Esto crea un entorno de red aislado, que es la primera línea de defensa contra el ingreso no autorizado a la red.
- En la consola de Google Cloud, navega a Red de VPC > Redes de VPC. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Redes de VPC" y selecciónala.
- Haz clic en Crear red de VPC.
- En Nombre, ingresa
genai-secure-vpc. - En Modo de creación de subred, selecciona Personalizado.
- En Subred nueva, especifica las siguientes propiedades para crear tu subred:
Propiedad
Valor (escríbelo o selecciónalo)
Nombre
genai-subnet-us-central1Región
us-central1Rango de direcciones IP
10.0.1.0/24Acceso privado a Google
Encendida
- Haz clic en Crear.
Crea la puerta de enlace de Cloud NAT
La puerta de enlace de Cloud NAT permite que tus instancias privadas inicien conexiones salientes (p.ej., para actualizaciones de software) sin tener una dirección IP pública, lo que significa que Internet público no puede iniciar conexiones a ellas.
- Primero, crea un Cloud Router. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Cloud Router" y selecciónalo.
- Haz clic en Crear router.
- Configura Cloud Router con los siguientes parámetros:
Propiedad
Valor (escríbelo o selecciónalo)
Nombre
genai-router-us-central1Red
genai-secure-vpc(la red de VPC que acabas de crear)Región
us-central1 - Haz clic en Crear.
- A continuación, navega a Servicios de red > Cloud NAT. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Cloud NAT" y selecciónala.
- Haz clic en Comenzar.
- Configura la puerta de enlace de Cloud NAT con los siguientes parámetros:
Propiedad
Valor (escríbelo o selecciónalo)
Nombre de la puerta de enlace
genai-nat-us-central1Red de VPC
genai-secure-vpc(la red de VPC que creaste)Región
us-central1Cloud Router
genai-router-us-central1(el router que acabas de configurar) - Haz clic en Crear.
5. Implementa una instancia segura de Vertex AI Workbench
Ahora que tienes una base de red segura, implementa una instancia de Vertex AI Workbench reforzada dentro de tu VPC segura. Esta instancia de Workbench funciona como tu entorno de desarrollo y proporciona un espacio seguro y aislado para tu trabajo de desarrollo de IA. La configuración de red anterior garantiza que esta instancia no esté expuesta directamente a Internet público, lo que se suma a la defensa de varias capas.
Crea una cuenta de servicio con privilegios mínimos
Crear una cuenta de servicio dedicada con la menor cantidad de permisos necesarios admite el principio de menor privilegio. Si alguna vez se vulnera tu instancia, esta práctica limita el "radio de explosión" asegurándose de que la instancia solo pueda acceder a los recursos y realizar las acciones que se requieren explícitamente para su función.
- En la consola de Google Cloud, navega a IAM y administración > Cuentas de servicio. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Cuentas de servicio" y selecciónala.
- Haga clic en Crear cuenta de servicio.
- En Nombre de la cuenta de servicio, ingresa
vertex-workbench-sa. - Haz clic en Crear y continuar.
- Otorga los siguientes roles:
Vertex AI UserStorage Object Creator
- Haz clic en Listo.
Crea la instancia de Workbench
En este paso, implementarás tu instancia de Vertex AI Workbench. Esta instancia está configurada para ejecutarse dentro de tu VPC privada creada anteriormente, lo que la aísla aún más de Internet pública. También puedes aplicar medidas de refuerzo de seguridad adicionales directamente a la instancia.
- En el menú de navegación (menú de hamburguesas) de la consola de Google Cloud, navega a Vertex AI > Workbench. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Workbench" y selecciona el resultado con "Vertex AI" como subtítulo.
- Haz clic en Crear nuevo y configura lo siguiente:
Propiedad
Valor (escríbelo o selecciónalo)
Nombre
secure-genai-instanceRegión
us-central1 - Haz clic en Opciones avanzadas.
- Haz clic en Tipo de máquina y selecciona las casillas de verificación de los siguientes elementos:
- Inicio seguro
- Módulo de plataforma segura virtual (vTPM)
- Supervisión de integridad.
- Haz clic en Herramientas de redes y configura lo siguiente:
Propiedad
Valor (escríbelo o selecciónalo)
Red
genai-secure-vpcSubred
genai-subnet-us-central1(10.0.1.0/24)Asignar dirección IP externa
Anula la selección, ya que solo accedes a esta instancia a través de un proxy en Google Cloud.
- Haz clic en IAM y seguridad y configura lo siguiente:
Propiedad
Valor (escríbelo o selecciónalo)
Correo electrónico del usuario
Usuario único y selecciona la dirección de correo electrónico que usaste para acceder a Google Cloud.
Usar la cuenta de servicio de Compute Engine predeterminada
Anula la selección de la casilla de verificación.
Correo electrónico de la cuenta de servicio
Ingresa el correo electrónico creado para la cuenta de servicio con privilegios mínimos (reemplaza
[PROJECT_ID]por tu ID real):vertex-workbench-sa@[PROJECT_ID].iam.gserviceaccount.comAcceso raíz a la instancia
Anula la selección de la casilla de verificación.
- Haz clic en Crear.
Accede a tu instancia de Vertex AI
Ahora que tu instancia de Vertex AI Workbench es provisional, puedes acceder a ella de forma segura. Te conectas a ella a través del proxy de Google Cloud, lo que garantiza que la instancia siga siendo privada y no esté expuesta a la Internet pública, lo que limita el riesgo de tráfico no solicitado y potencialmente malicioso.
- Navega a Vertex AI > Workbench. Es posible que ya estés en esta página si tu instancia acaba de terminar el aprovisionamiento. De lo contrario, puedes usar el menú de navegación (menú de hamburguesa) o la barra de búsqueda de la consola de Google Cloud para acceder a ella.
- Busca tu instancia llamada
secure-genai-instanceen la lista. - A la derecha de tu instancia, haz clic en el vínculo Abrir JupyterLab.
Se abrirá una pestaña nueva en el navegador, lo que te dará acceso a tu instancia. Puedes acceder a ella a través de Google Cloud, pero la instancia no está expuesta a la Internet pública, lo que limita el riesgo de tráfico no solicitado y potencialmente malicioso.
6. Implementa un bucket seguro de Cloud Storage
Ahora, crearás un bucket seguro de Cloud Storage para tus conjuntos de datos. Aquí se almacenan tus datos de entrenamiento, modelos y artefactos de IA. Si aplicas parámetros de configuración de seguridad sólidos a este bucket, evitarás la exposición pública accidental de datos sensibles y protegerás los datos contra la eliminación y la manipulación maliciosas o accidentales. Esto garantiza la integridad y la confidencialidad de tus valiosos recursos de IA.
Crea y configura el bucket
En este paso, crearás tu bucket de Cloud Storage y aplicarás la configuración de seguridad inicial. Estos parámetros de configuración aplican la prevención de acceso público y habilitan los controles de acceso uniformes a nivel del bucket, que son fundamentales para mantener el control sobre quién puede acceder a tus datos.
- En la consola de Google Cloud, navega a Cloud Storage > Buckets. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Buckets" y selecciónala.
- Haz clic en Crear.
- En Comenzar, configura el Nombre como
secure-genai-artifacts-[PROJECT_ID]y reemplaza[PROJECT_ID]por el ID real de tu proyecto de Google Cloud. - Continúa a Elige dónde almacenar tus datos y configura lo siguiente:
Propiedad
Valor (escríbelo o selecciónalo)
Tipo de ubicación
Región
Región
us-central1 - Continúa a Elige cómo almacenar tus datos y conserva la configuración predeterminada.
- Continúa a Elige cómo controlar el acceso a los objetos y conserva la configuración predeterminada:
Propiedad
Valor (escríbelo o selecciónalo)
Motivo
Impedir el acceso público
Mantén seleccionada la opción Aplicar la prevención de acceso público.
La prevención de acceso público anula cualquier cambio en IAM que pueda hacer que un objeto quede expuesto a Internet de forma involuntaria.
Control de acceso
Mantén seleccionada la opción Uniforme.
Aunque las LCA parecen ser la mejor opción para el control detallado, y, por lo tanto, para el privilegio mínimo, introducen complejidad e imprevisibilidad cuando se combinan con otras funciones de IAM. Considera las ventajas y desventajas del acceso uniforme a nivel de bucket para evitar la exposición de datos no deseada.
- Continúa a Elige cómo proteger los datos de objeto y conserva la configuración predeterminada:
Propiedad
Valor (escríbelo o selecciónalo)
Motivo
Política de eliminación no definitiva (para la recuperación de datos)
Mantén seleccionada la opción Política de eliminación no definitiva (para la recuperación de datos).
En caso de que se borren elementos del bucket de forma accidental o maliciosa, la eliminación no definitiva te permite restablecer el contenido dentro del período de retención.
Control de versiones de objetos (para el control de versión)
Selecciona Control de versiones de objetos (para el control de versión).
El control de versiones de objetos permite la recuperación de sobrescrituras accidentales o maliciosas, por ejemplo, si un atacante reemplazara un archivo benigno por uno que contenga código de exploit.
Cantidad máxima de versiones por objeto
3
Si bien este valor es arbitrario y puede aumentar el costo, debe ser mayor que 1 para que puedas revertir a una versión anterior. Si un atacante podría intentar varios reemplazos, es posible que se necesite una estrategia de copias de seguridad con un control de versiones más sólido.
Hacer vencer las versiones no actuales después de
7
Se recomienda conservar las versiones anteriores durante 7 días, pero este número puede ser mayor para el almacenamiento a largo plazo.
- Haz clic en Crear.
- Si aparece una ventana emergente que dice “Se impedirá el acceso público”, mantén seleccionada la casilla predeterminada (“Aplicar la prevención de acceso público a este bucket”) y haz clic en Confirmar.
Habilita la protección y el registro de datos
Para garantizar la inmutabilidad y la auditabilidad de tus datos, habilita el versionamiento de objetos y configura los registros de acceso a los datos para tu bucket. El versionamiento de objetos permite la recuperación de eliminaciones o escrituras accidentales, mientras que los registros de acceso a datos proporcionan un registro de auditoría integral de toda la actividad en tu bucket, lo que es esencial para la supervisión de la seguridad y el cumplimiento.
- En la consola de Google Cloud, navega a IAM y administración > Registros de auditoría. Usa la barra de búsqueda en la parte superior de la consola de Google Cloud para buscar "Registros de auditoría" y selecciónalos.
- Usa la búsqueda de filtros para encontrar y seleccionar Google Cloud Storage.
- En el panel que aparece, marca las casillas de Lectura de datos y Escritura de datos.
- Haz clic en Guardar.
7. Del laboratorio a la realidad
Acabas de completar una serie de pasos en un entorno de lab temporal, pero los principios y las configuraciones que aplicaste son el plano para proteger proyectos de IA del mundo real en Google Cloud. A continuación, te mostramos cómo puedes aplicar lo que aprendiste a tu propio trabajo, desde un lab simple hasta una configuración lista para la producción.
Piensa en los recursos que acabas de compilar (la VPC privada, la instancia de Workbench reforzada y el bucket seguro) como una plantilla de inicio segura para cualquier proyecto nuevo de IA. Tu objetivo es hacer que esta base segura sea la ruta predeterminada y sencilla para ti y tu equipo.
La red segura: Tu espacio de trabajo privado
Cómo usarías esto en tu configuración
Cada vez que inicies un proyecto nuevo de IA (p.ej., "customer-churn-prediction", "image-classification-model"), replicarías esta configuración de red. Crearías una VPC dedicada (churn-pred-vpc) o usarías una red compartida aprobada previamente. Esta se convertirá en la "zona de pruebas" aislada de tu proyecto. Tu entorno de desarrollo, como el Vertex AI Workbench que configuraste, se encuentra dentro de este espacio protegido. Te conectarías a ella a través del proxy seguro (Abrir JupyterLab) sin exponerla nunca a la Internet pública.
Conexión a producción
En un entorno de producción, llevarías este concepto aún más lejos considerando lo siguiente:
- Infraestructura como código (IaC): En lugar de usar la consola de Cloud, definirías esta red con herramientas como Terraform o Cloud Deployment Manager. Esto te permite implementar una base de red segura para un proyecto nuevo en minutos, lo que garantiza que sea repetible y auditable.
- VPC compartida: En las organizaciones más grandes, un equipo central de redes suele administrar una VPC compartida. Como desarrollador, se te otorgaría permiso para iniciar tus instancias y servicios en subredes específicas dentro de esa red segura administrada de forma centralizada. El principio es el mismo: sigues operando en un espacio privado, pero forma parte de una infraestructura compartida más grande.
- Controles del servicio de VPC: Para obtener la máxima seguridad, deberías envolver todo este entorno en un perímetro de Controles del servicio de VPC. Esta es una función potente que evita la filtración de datos, ya que garantiza que solo los recursos autorizados dentro del perímetro de tu red privada puedan acceder a servicios como Cloud Storage.
El procesamiento reforzado: Tu centro seguro de desarrollo y capacitación
Cómo usarías esto en tu configuración
La secure-genai-instance es tu máquina de desarrollo de IA diaria. Usarías la interfaz de JupyterLab para realizar las siguientes acciones:
- Escribe y prueba el código de tu modelo en notebooks.
- Instala bibliotecas de Python (
pip install ...). - Experimenta con conjuntos de datos pequeños y medianos. La seguridad que configuraste (sin IP pública, cuenta de servicio con privilegios mínimos, sin acceso de administrador raíz, arranque seguro) se ejecuta de forma transparente en segundo plano. Puedes concentrarte en tu trabajo de IA, ya que sabes que la instancia está protegida contra ataques comunes.
Conexión a producción
Por lo general, no se ejecuta un entrenamiento a gran escala en una sola instancia de Workbench en producción. En su lugar, puedes llevar tu trabajo a producción de las siguientes maneras:
- Del notebook a la canalización: Tomarías el código de tu notebook y lo formalizarías en una secuencia de comandos. Luego, esta secuencia de comandos se ejecutaría como un trabajo de entrenamiento personalizado de Vertex AI o como un paso en una canalización de Vertex AI.
- Alojamiento en contenedores: Empaquetarías tu código de entrenamiento y sus dependencias en un contenedor de Docker y lo almacenarías en Artifact Registry. Esto garantiza que tu código se ejecute en un entorno coherente y predecible cada vez.
- La cuenta de servicio es clave: La cuenta de servicio
vertex-workbench-saque creaste es fundamental. En producción, tus trabajos automatizados de Vertex AI Training se ejecutarían con esta misma cuenta de servicio con privilegios mínimos (o una similar), lo que garantiza que el trabajo automatizado solo tenga los permisos que realmente necesita.
El almacenamiento seguro: Tu repositorio central de artefactos
Cómo usarías esto en tu configuración
El bucket de secure-genai-artifacts es la única fuente de verdad para los datos de tu proyecto. No es solo para el conjunto de datos inicial. Puedes usarlo para almacenar lo siguiente:
- Datos de entrenamiento sin procesar y preprocesados
- Puntos de control del modelo durante ejecuciones de entrenamiento prolongadas.
- Son los artefactos del modelo final entrenado (archivos
.pkl,.pbo.h5). - Registros y resultados de la evaluación. La configuración de seguridad que aplicaste (prevención de acceso público, control de acceso uniforme a nivel del bucket, versionado y registro de auditoría) significa que puedes usar este bucket con confianza como un almacén central, protegido contra filtraciones y eliminaciones accidentales.
Conexión a producción
Para administrar y controlar tus principios en un entorno de producción, también debes tener en cuenta lo siguiente:
- Políticas de ciclo de vida: Para administrar los costos, configurarías políticas de ciclo de vida para mover automáticamente las versiones o los conjuntos de datos de modelos más antiguos a clases de almacenamiento más económicas (como Nearline o Coldline) o borrarlos después de un período determinado.
- Permisos entre proyectos: En un canal de producción, un equipo de ingeniería de datos podría completar este bucket desde un proyecto de Google Cloud diferente. El acceso uniforme a nivel de bucket que habilitaste hace que la administración de estos permisos de IAM entre proyectos sea simple y segura, sin LCA complejas (y, por lo tanto, fáciles de configurar de forma incorrecta).
Panorama general: Establecer la seguridad como opción predeterminada
Si adoptas este modelo, tu postura de seguridad pasará de ser una consideración secundaria a ser la base. Ya no eres solo un desarrollador, sino que eres un campeón de la seguridad para tu equipo. Cuando se une un miembro nuevo al equipo, no le das una máquina insegura y pública. Les das acceso a un entorno seguro y preconfigurado en el que la forma segura de trabajar también es la más sencilla. Este enfoque reduce directamente el riesgo comercial, ya que evita las causas comunes de las filtraciones de datos y las vulneraciones del sistema, lo que permite que tu equipo innove y cree aplicaciones de IA potentes con confianza.
8. ¡Felicitaciones!
¡Felicitaciones! Creaste y auditaste correctamente una infraestructura segura de varias capas para tu entorno de desarrollo de IA. Creaste un perímetro de red seguro con una postura de firewall de "rechazo predeterminado", implementaste una instancia de procesamiento reforzada, protegiste un bucket de datos y usaste registros para verificar que tus controles funcionen exactamente según lo previsto.
Resumen
En este lab, realizaste las siguientes tareas:
- Se aprovisionó una VPC segura con redes privadas para mitigar el tráfico no solicitado.
- Se implementó una instancia de Vertex AI Workbench reforzada contra bootkits y escalamiento de privilegios.
- Se protegió un bucket de Cloud Storage para mitigar la transferencia de datos no supervisada y la exposición pública accidental.
- Se implementaron cuentas de servicio con privilegios mínimos para limitar el posible "radio de explosión".
- Se habilitó el control de versiones de objetos y los registros de acceso a los datos para la protección de datos y un registro de auditoría inmutable.