En este paso, debes configurar Identity-Aware Proxy (IAP) para aprovisionar una capa de autorización centralizada para la aplicación implementada en Cloud Run. Para ello, haz lo siguiente:
Configura la pantalla de consentimiento de OAuth: la pantalla de consentimiento de OAuth es una petición que incluye un resumen de tu proyecto, sus políticas y los permisos de acceso solicitados. Al configurar la pantalla de consentimiento de OAuth de tu aplicación, defines qué está disponible para los usuarios y los revisores de aplicaciones, y también registras tu aplicación para poder publicarla más adelante. Para obtener más información sobre la pantalla de consentimiento de OAuth, consulta el artículo Configurar la pantalla de consentimiento de OAuth y elegir los permisos.
Crea credenciales de acceso de OAuth: debes crear un ID de cliente de OAuth para tu aplicación y tu dominio, de forma que tu aplicación pueda llamar a las APIs necesarias. Para obtener más información sobre las credenciales de OAuth, consulta Crear credenciales de acceso.
Habilita IAP en el balanceador de carga: usa el ID de cliente y el secreto de OAuth para habilitar IAP en el balanceador de carga que has creado para tu aplicación.
Activa IAP: protege tu aplicación creando principales que puedan acceder a ella y, a continuación, activando IAP.
Configurar la pantalla de consentimiento de OAuth
En la Google Cloud consola, ve a la pantalla de consentimiento de OAuth.
Seleccione uno de los siguientes tipos de usuario para su aplicación:
Externo: cualquier usuario con una cuenta de Google puede enviar solicitudes de autorización. Para completar este tutorial, te recomendamos que selecciones Externo.
Interno: solo los miembros de tu Google Cloud organización pueden enviar solicitudes de autorización a la aplicación.
Haz clic en Crear.
En la sección Dominios autorizados, haz clic en Añadir dominio y especifica el nombre de dominio utilizado durante la creación del certificado.
En la sección Información de contacto del desarrollador, introduce tu dirección de correo electrónico.
Haz clic en Guardar y continuar.
En la página Ámbitos, haz clic en Guardar y continuar.
Opcional: Si has seleccionado Externo como tipo de usuario, añade usuarios de prueba en la página Usuarios de prueba de la siguiente manera:
Haz clic en Add users (Añadir usuarios).
Introduce tu dirección de correo y la de cualquier otro usuario de prueba autorizado y, a continuación, haz clic en Guardar y continuar.
Revisa el resumen del registro de tu aplicación. Para hacer cambios, haz clic en Editar. Si el registro de la aplicación es correcto, haz clic en Volver al panel de control.
Crear credenciales de acceso de OAuth
En la Google Cloud consola, ve a Credenciales.
Haz clic en Crear credenciales y, a continuación, en ID de cliente de OAuth.
En la lista Tipo de aplicación, haz clic en Aplicación web.
En el campo Name (Nombre), introduce
gemini-streamlit-app
.En la sección Orígenes de JavaScript autorizados, haz clic en Añadir URI y, a continuación, introduce el siguiente URI:
https://DOMAIN_NAME
Sustituye DOMAIN_NAME por el nombre de dominio que se usó durante la creación del certificado.
Haz clic en Crear.
Aparecerá la pantalla Cliente de OAuth creado, que muestra el ID de cliente y el secreto de cliente.
Copia el ID de cliente y el secreto de cliente. Necesitarás estos datos en el siguiente paso del tutorial.
Habilitar IAP en el balanceador de carga
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- En el terminal de Cloud Shell, ejecuta el siguiente comando:
gcloud compute backend-services update gemini-streamlit-app-backend \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \ --global
Sustituye lo siguiente:
- CLIENT_ID: el ID de cliente de OAuth de las credenciales de OAuth que acabas de crear.
- CLIENT_SECRET: el secreto de cliente de OAuth de las credenciales de OAuth que acabas de crear.
Configurar y usar compras en la aplicación
Ve a la página Identity-Aware Proxy.
Selecciona el proyecto.
Selecciona la casilla situada junto a
gemini-streamlit-app-backend
.Haz clic en Añadir principal.
Introduce los datos en los siguientes campos:
Nuevos principales: introduce las direcciones de correo electrónico de los grupos o usuarios a los que quieras dar acceso a tu aplicación. Un principal puede ser cualquiera de los siguientes elementos:
Cuenta de Google
Grupo de Google
Cuenta de servicio
Dominio de Google Workspace
Asegúrate de incluir una cuenta de Google a la que tengas acceso.
En la lista Rol, selecciona Cloud IAP > Usuario de aplicaciones web protegidas mediante IAP.
Haz clic en Guardar.
En la página Identity-Aware Proxy, en Aplicaciones, haz clic en el interruptor IAP para activarlo en la fila correspondiente al recurso
gemini-streamlit-app-backend
.En la ventana Activar compras en aplicaciones que aparece, marca la casilla para confirmar que has leído los requisitos de configuración y que has configurado tu backend en consecuencia.
Haz clic en Activar. Una vez que hayas activado IAP, se requerirán credenciales de inicio de sesión para todas las conexiones a tu balanceador de carga. Solo se concede acceso a las cuentas que tienen el rol Usuario de aplicaciones web protegidas mediante IAP en el proyecto.