Solución de problemas y preguntas frecuentes

En este documento, se proporciona orientación para solucionar problemas y respuestas a preguntas frecuentes sobre Identity-Aware Proxy (IAP).

Soluciona problemas de acceso web

Si encuentras errores durante el acceso o cuando accedes a tu aplicación, inspeccionar el tráfico de red de tu navegador puede ayudarte a diagnosticar el problema.

Inspecciona el tráfico de red

  1. Abre una nueva ventana de Incógnito (Chrome) o Privada en tu navegador.
  2. Abre las herramientas para desarrolladores de tu navegador y ve a la pestaña Red.
  3. Selecciona la opción Conservar registro para capturar todas las solicitudes durante los redireccionamientos.
  4. Para reproducir el problema, navega a la URL en la que tienes problemas.
  5. Examina las solicitudes de red en el registro para identificar dónde ocurrió el error.

Analiza el tráfico de red

Cuando accedes a una aplicación protegida con IAP, se te redirecciona a la página de acceso. Después de la autenticación correcta con el proveedor de identidad, se realiza una solicitud al dominio https://iap.googleapis.com para completar la autenticación antes de que se emita una cookie de IAP y se te redireccione a la aplicación.

Puedes solucionar problemas según el dominio en el que se produce el error:

  • Errores en iap.googleapis.com: Si se produce un error en el iap.googleapis.com dominio, se muestra un mensaje de error detallado en la página. Si el error está relacionado con la configuración de IAP, como problemas del cliente de OAuth, ajusta la configuración. Si encuentras errores del cliente que no sabes cómo abordar o si ves errores del servidor, abre un Google Cloud ticket de asistencia.
  • Errores en el dominio de tu aplicación: Si se produce un error después de que se te redirecciona al dominio de la aplicación protegida con IAP, se muestra un código de error. Consulta la sección Códigos de error para obtener detalles sobre los errores comunes. Si no puedes resolver el problema, abre un Google Cloud ticket de asistencia.

¿Qué aplicaciones puedo proteger con IAP?

IAP se puede usar con lo siguiente:

  • Entorno estándar de App Engine y aplicaciones de entorno flexible de App Engine
  • Instancias de Compute Engine con servicios de backend de balanceo de cargas HTTP(S)
  • Contenedores de Google Kubernetes Engine
  • Aplicaciones de Cloud Run con servicios de backend de balanceo de cargas HTTP(S)
  • Cloud Run con un solo clic y sin servicios de backend de balanceo de cargas

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é no se aceptan mis solicitudes y, en su lugar, se muestra 405 Method Not Allowed?

Esto suele suceder cuando las cookies no están adjuntas a tus solicitudes. Los métodos de JavaScript no adjuntan cookies de forma predeterminada.

Los diferentes métodos de solicitud requieren enfoques diferentes:

Para manejar los errores relacionados con la sesión, consulta Administra 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 solicitud para indicar la compatibilidad con los redireccionamientos.

¿Por qué las solicitudes POST no activan redireccionamientos?

Los navegadores no redireccionan como respuesta a las solicitudes POST. En su lugar, IAP muestra un código de estado 401 Unauthorized.

Para las solicitudes POST a recursos protegidos con IAP, incluye cualquiera de las siguientes opciones:

  • Un token de ID en un encabezado Authorization: Bearer
  • Cookies válidas (consulta cómo actualizar sesiones)

¿Puedo usar IAP si inhabilité la API?

Sí, los recursos protegidos por IAP siguen siendo accesibles 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 de la función 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 propiedad de Google:

¿Por qué recibo Server Error?

Si ves 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 IPs no pueden llegar a tu backend, no se podrá acceder a tus aplicaciones.

Para las conexiones TCP de IAP a VMs específicas, asegúrate también de que la VM acepte conexiones del rango 35.235.240.0/20.

¿Por qué recibo errores internos del servidor intermitentes?

Los mensajes como An internal server error occurred while authorizing your request. Error code X indican fallas 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 corregir errores de Identity Platform (código de error 38)

El código de error 38 indica que la URL de autenticación de Identity Platform para tu identidad externa no está configurada correctamente en IAP.

Para encontrar la URL, haz lo siguiente:

  1. Ve a la página de IAP.

    Ir a IAP

  2. Haz clic en la pestaña Aplicaciones.

  3. En la columna Recurso, busca tu aplicación y selecciona la casilla de verificación.

  4. En URL de autenticación o URL de acceso, asegúrate de que la URL sea correcta.

Para obtener información sobre cómo usar identidades externas con IAP, consulta Autentica usuarios con identidades externas.

¿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 excede 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 AUTHORIZATION o PROXY-AUTHORIZATION encabezado 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 con IAP en tu proyecto.

Si tienes errores relacionados con la cuota, considera estas soluciones:

  • Evita las pruebas de carga en la producción. En su lugar, usa rutas de red alternativas que omitan IAP.
  • Para el tráfico de servicio a servicio, implementa la retirada exponencial para controlar los errores 429 de forma correcta.
  • Distribuye las aplicaciones de alto tráfico en varios proyectos.
  • Usa Apigee o soluciones similares de puerta de enlace de API para aplicaciones basadas en la API.
  • Comunícate con el equipo de Google Cloud Asistencia para solicitar aumentos de cuota si el crecimiento orgánico está causando el problema.

Problemas de acceso o comportamiento inesperado con IAP usando Identity Platform

Cuando se usa un proveedor de identidad (IdP) de terceros con Identity Platform, los datos de reclamos grandes en el token de ID pueden hacer que la cookie de sesión de IAP exceda los límites de tamaño del navegador (por lo general, alrededor de 4 KB). IAP almacena información de la sesión, incluidos estos reclamos, en las cookies del navegador.

Si se excede el límite de tamaño de la cookie de sesión, se pueden producir fallas de acceso o bucles de acceso infinitos. Para evitar estos problemas, considera las siguientes acciones:

  • Reduce los reclamos: Configura tu IdP de terceros para que envíe solo los reclamos esenciales a Identity Platform. Minimiza el tamaño y la cantidad de reclamos incluidos en el token.

  • Inspecciona el tamaño de las cookies: Usa las herramientas para desarrolladores del navegador para verificar el tamaño de las cookies establecidas en el dominio de tu aplicación. Busca advertencias relacionadas con el tamaño de las cookies, en particular, para las cookies relacionadas con IAP.

  • Prueba los reclamos mínimos: Configura temporalmente el IdP para que envíe el conjunto de reclamos más pequeño posible. Si esto resuelve el problema, confirma que la limitación del tamaño de las cookies es la causa raíz.

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 o secreto de cliente de OAuth vacío Visita la página Credenciales para verificar tu ID y secreto de cliente. Si parecen correctos, pero no funcionan, usa métodos de la API para verificar la configuración (GET para Compute Engine, GET para App Engine) y restablecerlos con PATCH.
9 Redireccionamiento de OAuth fallido Este es un error interno que se registró automáticamente. No se requiere ninguna acción de tu parte.
9 (con reglas de reescritura de ruta de acceso) Redireccionamiento de OAuth fallido Las reglas de reescritura de ruta de acceso de tu 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 actualizar esto con el comando gcloud compute backend-services update.
9 (con reglas de enrutamiento de ruta de acceso) Redireccionamiento de OAuth fallido Crea variantes de reglas de ruta de acceso para ambas versiones de cada ruta de acceso (con y sin barras diagonales finales) y dirígelas al mismo backend. Por ejemplo, incluye reglas para /path/ y /path.
11 ID de cliente de OAuth configurado de forma incorrecta Verifica tu ID y secreto de cliente en la página Credenciales. Si parecen correctos, pero no funcionan, usa métodos de la API para verificar la configuración (GET para Compute Engine, GET para App Engine) y restablecerlos 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 o modificado de forma incorrecta.
51 El navegador no tiene compatibilidad con 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 Restringe el acceso a los recursos.
52 No coincide 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 Restringe el acceso a los recursos para obtener orientación.
52 (con entrada de mapa de certificados principal) No coincide el nombre de host o el certificado SSL IAP no admite entradas de mapa de certificados principales. Usa entradas independientes para asignar cada certificado al nombre de host correcto. Consulta Crea una entrada de mapa de certificados 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 Restringe el acceso a los recursos para obtener instrucciones.
253, HTTP 429 Se excedió 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 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 y en el servicio de backend. Inhabilítalo en una ubicación siguiendo la guía en Habilita para Compute Engine.
700, 701 Problemas del proveedor del grupo de personal Configura exactamente un proveedor para tu grupo de personal. Revisa las limitaciones de los grupos de personal para conocer los requisitos detallados.
705 Falta el ID de cliente de OAuth para la identidad del personal 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 personal no válido Verifica que tu grupo de personal 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. También verifica que las reglas de firewall permitan las conexiones en ese puerto.
4010 La conexión se cerró por destino 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 asignada la función 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 se detuvo Asegúrate de que tu VM esté encendida y haya completado por completo su secuencia de inicio.

Si no puedes resolver el problema o no ves el error 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.