En este documento, se incluyen preguntas frecuentes sobre Identity-Aware Proxy (IAP).
¿Qué aplicaciones puedo proteger con IAP?
IAP se puede usar con lo siguiente:
- Entorno estándar de App Engine y aplicaciones del entorno flexible de App Engine
- Instancias de Compute Engine con servicios de backend de balanceo de cargas HTTP(S)
- Contenedores de Google Kubernetes Engine
- Apps de Cloud Run con servicios de backend de balanceo de cargas HTTP(S)
No se puede usar IAP con Cloud CDN.
¿Por qué aparece un # al final de mi URL después de acceder a mi aplicación?
Es posible que algunos navegadores en ciertas circunstancias agreguen un #
a la URL después de autenticarla. Esto es normal, y no ocasionará problemas para acceder a la aplicación.
¿Por qué mis solicitudes fallan y muestran 405 Method Not Allowed
?
Esto suele suceder cuando las cookies no se adjuntan a tus solicitudes. Los métodos de JavaScript no adjuntan cookies de forma predeterminada.
Los diferentes métodos de solicitud requieren diferentes enfoques:
- Para
XMLHttpRequest
, establecewithCredentials
comotrue
. - Para la API de Retrieve, establece
credentials
eninclude
osame-origin
.
Para manejar los errores relacionados con la sesión, consulta Cómo administrar las sesiones de IAP.
¿Por qué recibo un HTTP 401 Unauthorized
en lugar de un 302 Redirect
?
IAP envía un 302 Redirect
solo cuando tu cliente está configurado para manejar redireccionamientos.
Agrega HTTP Accept="text/html,*/*"
a los encabezados de tu solicitud para indicar la compatibilidad con redireccionamientos.
¿Por qué las solicitudes POST no activan redireccionamientos?
Los navegadores no redireccionan en respuesta a las solicitudes POST. En su lugar, IAP muestra un código de estado 401 Unauthorized
.
En el caso de las solicitudes POST a recursos protegidos por IAP, incluye cualquiera de las siguientes opciones:
- Un token de ID en un encabezado
Authorization: Bearer
- Cookies válidas (consulta cómo actualizar las sesiones)
¿Puedo usar IAP si inhabilité la API?
Sí, se puede acceder a los recursos protegidos por IAP cuando la API está inhabilitada, pero no podrás modificar los permisos de IAM.
¿Cómo puedo evitar que los usuarios con la función de propietario usen IAP para TCP?
Lo ideal es limitar el uso del rol de propietario (roles/owner
) en favor de permisos más detallados. Consulta las prácticas recomendadas de IAM para obtener orientación.
Si eso no es posible, puedes bloquear IAP para TCP mediante reglas de firewall.
¿Qué dominio usa IAP para TCP?
IAP usa los siguientes dominios de Google:
tunnel.cloudproxy.app
mtls.tunnel.cloudproxy.app
(cuando está habilitado el acceso basado en certificados)
¿Por qué recibo Server Error
?
Si ves lo siguiente, haz lo siguiente:
The server encountered a temporary error and could not complete your request. Please try again in 30 seconds.
Es posible que tu firewall esté bloqueando las IPs del balanceador de cargas.
Verifica que tu firewall permita el tráfico de 130.211.0.0/22
y 35.191.0.0/16
. Si estas IP no pueden conectarse a tu backend, no se podrá acceder a tus aplicaciones.
Para las conexiones TCP de IAP a VMs específicas, asegúrate de que la VM también acepte conexiones del rango 35.235.240.0/20
.
¿Por qué recibo errores internos del servidor de forma intermitente?
Los mensajes como An internal server error occurred while authorizing your request.
Error code X
indican errores del backend.
Los códigos de error 1
, 30
, 62
, 63
, 64
o 703
suelen reflejar problemas transitorios. Implementa la retirada exponencial para los reintentos.
¿Cómo puedo abordar los errores de cuota excedida (código de error 429)?
El código de error 429 se produce cuando tu aplicación supera los límites de solicitudes de IAP. El servicio aplica cuotas independientes:
- Solicitudes basadas en el navegador: 360,000 por minuto por proyecto
- Solicitudes programáticas: 360,000 por minuto por proyecto
Una solicitud programática es aquella que incluye un encabezado AUTHORIZATION
o PROXY-AUTHORIZATION
y no tiene una cookie de IAP. Todas las demás solicitudes (incluidas las que no tienen credenciales) se consideran solicitudes del navegador.
Estos límites se aplican de forma colectiva a todos los recursos protegidos por IAP de tu proyecto.
Si tienes errores relacionados con la cuota, considera estas soluciones:
- Evita las pruebas de carga en producción. Usa rutas de red alternativas que omitan la IAP.
- Para el tráfico de servicio a servicio, implementa la retirada exponencial para controlar los errores 429 de forma fluida.
- Cómo distribuir aplicaciones de alto tráfico en varios proyectos
- Usa Apigee o soluciones de puerta de enlace de API similares para aplicacionesbasadas en APIs.
- Comunícate con el equipo deGoogle Cloud asistencia para obtener aumentos de cuota si el crecimiento orgánico es la causa del problema.
Códigos de error
En la siguiente tabla, se enumeran los códigos de error comunes y los mensajes que se muestran cuando configuras y usas IAP.
Código de error | Descripción | Soluciona problemas |
---|---|---|
7 | ID de cliente o secreto de OAuth vacío | Visita la página Credenciales para verificar tu ID y secreto de cliente. Si parecen correctos, pero no funcionan, usa los métodos de la API para verificar la configuración (GET para Compute Engine, GET para App Engine) y restablece la configuración con PATCH . |
9 | Redireccionamiento de OAuth fallido | Este es un error interno que se registró automáticamente. No es necesario que realices ninguna acción. |
9 (con reglas de reescritura de rutas) | Redireccionamiento de OAuth fallido | Las reglas de reescritura de rutas de acceso del balanceador de cargas impiden que se complete OAuth. Asegúrate de que todos los backends detrás de tu balanceador de cargas usen IDs de cliente de OAuth idénticos. Puedes actualizarlo con el comando gcloud compute backend-services update. |
9 (con reglas de enrutamiento de ruta) | Redireccionamiento de OAuth fallido | Crea variantes de reglas de ruta para ambas versiones de cada ruta (con y sin barras finales) y diríjelas al mismo backend. Por ejemplo, incluye reglas para /path/ y /path . |
11 | ID de cliente de OAuth configurado de forma incorrecta | Verifica tu ID de cliente y secreto en la página Credenciales. Si parecen correctos, pero no funcionan, usa los métodos de la API para verificar la configuración (GET para Compute Engine, GET para App Engine) y restablece la configuración con PATCH . |
13 | Token de OIDC no válido | Ve a la página Credenciales para confirmar que tu ID de cliente no se haya borrado ni modificado de forma incorrecta. |
51 | El navegador no admite la agrupación de conexiones | Pídeles a los usuarios finales que actualicen sus navegadores a las versiones actuales. Para obtener más detalles sobre los requisitos de conexión, consulta Cómo restringir el acceso a los recursos. |
52 | No coinciden el nombre de host o el certificado SSL | El administrador del sistema debe actualizar el certificado SSL para que coincida con el nombre de host. Consulta Cómo restringir el acceso a los recursos para obtener orientación. |
53 | El nombre de host no está en los dominios permitidos | Un administrador debe agregar tu nombre de host a la lista de dominios permitidos. Consulta Cómo restringir el acceso a los recursos para obtener instrucciones. |
429 | Se superó la cuota de solicitudes | Alcanzaste los límites de solicitudes (360,000 por minuto para cada tipo de solicitud). Considera distribuir las cargas de trabajo en varios proyectos, implementar el control de la limitación de solicitudes del cliente o comunicarte con el equipo de asistencia para solicitar aumentos de cuota si es necesario para un crecimiento legítimo. |
551 | IAP habilitado en varios lugares | No puedes habilitar IAP en la regla de reenvío ni en el servicio de backend. Inhabilita esta opción en una ubicación siguiendo las instrucciones que se indican en Habilitación para Compute Engine. |
700 y 701 | Problemas con el proveedor del grupo de trabajadores | Configura exactamente un proveedor para tu grupo de trabajadores. Revisa las limitaciones de los grupos de personal para conocer los requisitos detallados. |
705 | Falta el ID de cliente de OAuth para la identidad de Workforce | Sigue el proceso de configuración completo: primero, crea un ID de cliente de OAuth y, luego, actualiza la configuración de IAP. |
708 | Nombre del grupo de trabajadores no válido | Verifica que tu grupo de trabajadores exista y use el formato correcto: locations/global/workforcePools/WORKFORCE_POOL_ID . |
4003 | Problema de conexión o firewall | Verifica que el proceso de la VM se esté ejecutando y escuchando en el puerto esperado. Además, verifica que tus reglas de firewall permitan conexiones en ese puerto. |
4010 | El destino cerró la conexión | Restablece la VM. Si los problemas persisten, examina auth.log (por lo general, en /var/log/ ) o usa la consola en serie para obtener diagnósticos más detallados. |
4033 | Problema de permiso, existencia o estado de la VM | Confirma que tienes asignado el rol de usuario de túnel para el recurso a través de la página de IAP y verifica que la VM exista y se esté ejecutando. |
4047 | La instancia no existe o está detenida | Asegúrate de que la VM esté encendida y haya completado por completo su secuencia de inicio. |
Si no puedes resolver el problema o no lo ves en esta página, comunícate con Atención al cliente de Cloud con una descripción del error y la respuesta que recibes de una llamada GET
a la API. Asegúrate de quitar el secreto del cliente de la respuesta.