En esta página se describen los conceptos básicos de Identity-Aware Proxy (IAP), un servicio global. Google Cloud
IAP te permite establecer una capa de autorización central para las aplicaciones a las que se accede mediante HTTPS, de forma que puedas usar un modelo de control de acceso a nivel de aplicación en lugar de depender de cortafuegos a nivel de red.
Las políticas de IAP se aplican a toda la organización. Puedes definir políticas de acceso de forma centralizada y aplicarlas a todas tus aplicaciones y recursos. Cuando asignas un equipo específico para crear y aplicar políticas, proteges tu proyecto frente a definiciones o implementaciones incorrectas de políticas en cualquier aplicación.
Cuándo usar las compras en la aplicación
Usa IAP cuando quieras aplicar políticas de control de acceso a aplicaciones y recursos. IAP funciona con encabezados firmados o con la API Users del entorno estándar de App Engine para proteger tu aplicación. Con IAP, puedes configurar el acceso a las aplicaciones en función de los grupos: un recurso puede ser accesible para los empleados e inaccesible para los contratistas, o solo accesible para un departamento concreto.
Cómo funcionan las compras en la aplicación
Cuando una aplicación o un recurso están protegidos por IAP, solo pueden acceder a ellos a través del proxy las entidades, también conocidas como usuarios, que tengan el rol de gestión de identidades y accesos (IAM) correcto. Cuando concedes acceso a un usuario a una aplicación o un recurso mediante IAP, este está sujeto a los controles de acceso granulares implementados por el producto en uso sin necesidad de una VPN. Cuando un usuario intenta acceder a un recurso protegido mediante IAP, IAP realiza comprobaciones de autenticación y autorización.




Autenticación
Las solicitudes a tus Google Cloud recursos se envían a través de Cloud Run, App Engine y Cloud Load Balancing (balanceo de carga HTTP y HTTPS externo e interno). El código de la infraestructura de publicación de estos productos comprueba si la compra en la aplicación está habilitada en la aplicación o en el servicio de backend. Si IAP está habilitado, se envía información sobre el recurso protegido al servidor de autenticación de IAP. Esto incluye información como el número de proyecto, la URL de la solicitud y las credenciales de compra en la aplicación en los encabezados o las cookies de la solicitud. Google Cloud
A continuación, IAP comprueba las credenciales del navegador del usuario. Si no existe ninguna, se redirige al usuario a un flujo de inicio de sesión de cuenta de Google de OAuth 2.0 que almacena un token en una cookie del navegador para futuros inicios de sesión. Si necesitas crear cuentas de Google para tus usuarios, puedes usar Google Cloud Directory Sync para sincronizar con tu servidor Active Directory o LDAP.
Si las credenciales de la solicitud son válidas, el servidor de autenticación las usa para obtener la identidad del usuario (dirección de correo electrónico e ID de usuario). El servidor de autenticación usa la identidad para comprobar el rol de gestión de identidades y accesos del usuario y si tiene autorización para acceder al recurso.
Si usas Compute Engine o Google Kubernetes Engine, los usuarios que puedan acceder al puerto de servicio de aplicaciones de la máquina virtual podrán omitir la autenticación de IAP. Las reglas de firewall de Compute Engine y GKE no pueden proteger contra el acceso desde el código que se ejecuta en la misma VM que la aplicación protegida por IAP. Las reglas de cortafuegos pueden proteger contra el acceso desde otra VM, pero solo si están configuradas correctamente. Consulta tus responsabilidades para garantizar la seguridad.
Si usas Cloud Run, puedes habilitar IAP de las siguientes formas:
- Directamente en tus servicios de Cloud Run. De esta forma, IAP puede proteger todas las rutas de entrada a Cloud Run, incluida la URL asignada automáticamente y cualquier URL de balanceador de carga configurada. Esta configuración es útil cuando tienes un solo servicio de Cloud Run para el que quieres habilitar IAP.
- A través de un balanceador de carga con un backend de Cloud Run. Esta configuración es útil cuando tienes varios servicios de Cloud Run en diferentes regiones detrás de un único balanceador de carga global. En esta configuración, la URL asignada automáticamente no está protegida por IAP y puede ser accesible directamente. Consulta más información sobre tus responsabilidades para garantizar la seguridad.
Si un servicio de Cloud Run está detrás de un balanceador de carga, no habilites IAP en el balanceador de carga y en el servicio de Cloud Run.
Autorización
Después de la autenticación, IAP aplica la política de gestión de identidades y accesos pertinente para comprobar si el usuario tiene autorización para acceder al recurso solicitado. Si el usuario tiene el rol Usuario de aplicación web protegida por IAP en el proyecto de la consolaGoogle Cloud donde se encuentra el recurso, tiene autorización para acceder a la aplicación. Para gestionar la lista de roles Usuario de aplicaciones web protegidas mediante IAP, usa el panel de IAP de la consola Google Cloud .
Cuando activas IAP en un recurso, se crean automáticamente un ID de cliente y un secreto de OAuth 2.0. Si eliminas las credenciales de OAuth 2.0 generadas automáticamente, las compras en la aplicación no funcionarán correctamente. Puedes ver y gestionar las credenciales de OAuth 2.0 en la Google Cloud consola APIs y servicios.
Acceso contextual
Como parte del paso de autorización, puedes usar el acceso contextual para proporcionar acceso seguro a los siguientes tipos de recursos:
Google Cloud Consola y APIs
- Primera capa de defensa para proteger el acceso a la infraestructura de Google Cloud.
- Acceso contextual avanzado Google Cloud para los usuarios.
Máquinas virtuales (VMs)
- Habilita el acceso administrativo por SSH o RDP a las VMs de Google Cloud y de otras nubes.
- Te permite implementar controles contextuales sólidos para restringir el acceso solo a los administradores designados.
Aplicaciones web
- Proporciona autorización y autenticación para aplicaciones web alojadas enGoogle Cloud y otras nubes.
- Proporciona autorización continua para evitar el acceso no autorizado y la pérdida de datos.
Tus responsabilidades
IAP protege la autenticación y la autorización de todas las solicitudes a Cloud Run, App Engine, Cloud Load Balancing (HTTPS) y el balanceo de carga HTTP interno.
Para garantizar la seguridad, debes tomar las siguientes precauciones:
- Si habilitas IAP en un balanceador de carga, comprueba si se puede acceder directamente a los recursos de backend.
- Si el recurso de backend es una máquina virtual, configure las reglas de cortafuegos para protegerse contra el tráfico que no proceda del balanceador de carga. IAP no protege contra la actividad dentro de un proyecto, como otra VM dentro del proyecto.
- Si el recurso de backend es un servicio de Cloud Run, puedes inhabilitar la URL run.app para asegurarte de que todo el tráfico entrante se produzca a través del balanceador de carga. Si decides dejar habilitada la URL run.app, debes usar los controles de entrada para bloquear el tráfico procedente de fuera de tu red.
- Actualiza tu aplicación para usar encabezados firmados o la API Users del entorno estándar de App Engine.
Siguientes pasos
- Para empezar a usar las compras en aplicaciones, completa una de las siguientes tareas:
- Habilita IAP directamente en tus servicios de Cloud Run o en un balanceador de carga con un backend de Cloud Run.
- Completa la guía de inicio rápido de App Engine para gestionar el acceso con cuentas de Google.
- Habilita IAP para Compute Engine.
- Habilita IAP para GKE.
- Habilite IAP en aplicaciones on-premise.
- Más información:
- Autenticarse en Compute Engine
- Opciones de autenticación de usuarios de App Engine
- Uso de OAuth 2.0 para acceder a las API de Google.
- Google Cloud Guía de autenticación
- Configurar un balanceador de carga
- Configurar un balanceador de carga con Cloud Run (totalmente gestionado)
- Restringir el tráfico de entrada en Cloud Run