Protege una app de IA generativa con IAP

En este instructivo, se muestra cómo implementar una app de IA generativa en Cloud Run y protegerla con Identity-Aware Proxy (IAP). IAP proporciona una capa de autorización central para las aplicaciones HTTPS que se implementan en Cloud Run. Puedes usar IAP para adoptar políticas de control de acceso a nivel de la aplicación o de la organización en lugar de usar firewalls a nivel de la red.

Ten en cuenta que, si bien también es posible usar la autenticación manual o de terceros para proteger una app implementada en Cloud Run, te recomendamos usar la IAP para volúmenes grandes o tráfico multirregional para evitar interrupciones en la publicación de la app.

En este instructivo, implementarás una app que realice llamadas a la API de Gemini. La app se basa en el framework de Streamlit.

Requisitos previos

En este instructivo, se supone que puedes usar las siguientes herramientas y frameworks:

  • Streamlit: Streamlit es un marco de trabajo de apps de código abierto que te permite crear e implementar aplicaciones de datos. Transforma secuencias de comandos de datos en aplicaciones web con Python.

  • Git: para este instructivo, usarás un repositorio de Git a fin de administrar el código fuente de tu app. Para obtener más información sobre el uso de Git, consulta la documentación de Git.

Servicios de Google Cloud

Debes tener conocimientos básicos de los siguientes servicios de Google Cloud:

  • IA generativa de Vertex AI: Proporciona acceso a los LLM de Google para que puedas probarlos, ajustarlos e implementarlos para su uso en tus aplicaciones. Más información sobre la IA generativa en Vertex AI.

  • Cloud Run: Una plataforma de procesamiento administrada que te permite implementar y ejecutar imágenes de contenedor. Debes crear un servicio de Cloud Run para implementar tu app. Obtén más información sobre Cloud Run.

  • Cloud Build: Ejecuta sus compilaciones en la infraestructura de Google Cloud. Para este instructivo, configurarás un activador de Cloud Build automático para compilar y, luego, implementar tu app en Cloud Run cada vez que envíes tus confirmaciones al repositorio de Git. Obtén más información sobre CloudBuild.

  • Cloud Load Balancing: Ayuda a distribuir el tráfico entre varias instancias de tu app para lograr escalabilidad. Debes crear un balanceador de cargas de aplicaciones para distribuir el tráfico a las instancias de backend de la app alojadas en Cloud Run. Cloud Load Balancing también es un requisito para IAP. Obtén más información sobre Cloud Load Balancing.

  • Identity-Aware Proxy (IAP): Usas IAP para crear una capa de autorización central que proteja la app. IAP realiza verificaciones de autenticación y autorización que se extienden a los servicios de Google Cloud vinculados. IAP también es compatible con Cloud Load Balancing y se integra sin problemas a Cloud Load Balancing, lo que la convierte en la opción de administración de seguridad más eficiente para este instructivo.

    Para obtener más información sobre IAP, consulta Descripción general de Identity-Aware Proxy.

    Para comprender cómo funciona IAP con Cloud Run, consulta la sección Cloud Run sobre cómo funciona IAP.

Nombre de dominio válido

Además, debes tener un nombre de dominio válido para aprovisionar un certificado, que es necesario para configurar el balanceador de cargas.

Páginas del instructivo

En este instructivo, se incluyen las siguientes páginas:

  1. Configura tu proyecto y repositorio de código fuente.

  2. Crear un servicio de Cloud Run

  3. Crear un balanceador de cargas.

  4. Configura Identity-Aware Proxy (IAP).

  5. Prueba tu aplicación protegida con IAP.

  6. Limpia tu proyecto.

En cada página, se supone que ya completaste las instrucciones de las páginas anteriores del instructivo.