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).

Solución de 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 lo experimentas.
  5. Examina las solicitudes de red en el registro para identificar dónde se produjo el error.

Analizando el tráfico de red

Cuando accedes a una aplicación protegida por 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 producen los errores:

  • Errores en iap.googleapis.com: Si se produce un error en el dominio iap.googleapis.com, se muestra un mensaje de error detallado en la página. Si el error se relaciona con la configuración de IAP, como problemas con el cliente de OAuth, ajusta la configuración. Si encuentras errores de cliente que no sabes cómo abordar o si ves errores de servidor, abre un ticket de asistencia deGoogle Cloud .
  • Errores en el dominio de tu aplicación: Si se produce un error después de que se te redirecciona al dominio de tu aplicación protegida por 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 ticket de asistencia deGoogle Cloud .

¿Qué aplicaciones puedo proteger con IAP?

IAP se puede usar con lo siguiente:

  • Apps del entorno estándar de App Engine y del entorno flexible de App Engine

  • Instancias de Compute Engine con servicios de backend de balanceo de cargas de HTTP(S)

  • Contenedores de Google Kubernetes Engine

  • Apps de Cloud Run con servicios de backend de balanceo de cargas de HTTP(S)

  • Cloud Run con un clic y sin servicios de backend de balanceo de cargas

    IAP no se puede usar con Cloud CDN.

    ¿Por qué aparece un # al final de mi URL después de acceder a mi aplicación?

    En algunos navegadores y en ciertas condiciones, se puede agregar un # a la URL después de la autenticación. Esto es normal, y no ocasionará problemas para acceder a la aplicación.

    ¿Por qué mis solicitudes fallan y devuelven 405 Method Not Allowed?

    Por lo general, esto sucede 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 distintos enfoques:

    Para controlar los errores relacionados con las sesiones, consulta Administra 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 controlar los redireccionamientos.

    Agrega HTTP Accept="text/html,*/*" a los encabezados de la solicitud para indicar que se admiten los redireccionamientos.

    ¿Por qué las solicitudes POST no activan redireccionamientos?

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

    Para las solicitudes POST a recursos protegidos por IAP, incluye una de las siguientes opciones:

    • Un token de ID en un encabezado Authorization: Bearer

    • Cookies válidas (consulta Actualiza sesiones)

    ¿Puedo usar IAP si inhabilité la API?

    Sí, se puede seguir accediendo 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 el rol de propietario usen IAP para TCP?

    Lo ideal es limitar el uso del rol de propietario (roles/owner) para favorecer permisos más detallados. Consulta las prácticas recomendadas de IAM para obtener orientación.

    Si no es posible, puedes bloquear IAP para TCP con reglas de firewall.

    ¿Qué dominio usa IAP para TCP?

    IAP usa los siguientes dominios 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 en el backend.

    Los códigos de error 1, 30, 62, 63, 64 o 703 suelen reflejar problemas temporales. 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.

      Ve 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 aprender a usar identidades externas con IAP, consulta Autentica usuarios con identidades externas.

    ¿Cómo puedo solucionar 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 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 en tu proyecto.

    Si tienes errores relacionados con las cuotas, considera estas soluciones:

    • Evita realizar pruebas de carga en 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 con mucho tráfico en varios proyectos.

    • Usa Apigee o soluciones de API Gateway similares para las aplicaciones basadas en APIs.

    • Comunícate con el equipo de asistencia deGoogle Cloud para aumentar la 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 reclamaciones grandes en el token de ID pueden hacer que la cookie de sesión de IAP supere los límites de tamaño del navegador (por lo general, alrededor de 4 KB). IAP almacena la información de la sesión, incluidas estas reclamaciones, en las cookies del navegador.

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

    • Reduce las reclamaciones: Configura tu IdP de terceros para que envíe solo las reclamaciones esenciales a Identity Platform. Minimiza el tamaño y la cantidad de reclamaciones incluidas 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 especial para las cookies relacionadas con IAP.

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

    ¿Por qué recibo un error HTTP 502 con el mensaje "Empty Cuenta de Google cliente de OAuth ID de cliente(s)/Secret(s)"?

    Si accedes a tu aplicación protegida por IAP y recibes un error HTTP 502 Bad Gateway con el mensaje Empty Google Account OAuth client ID(s)/secret(s)., IAP no puede encontrar las credenciales de OAuth para tu aplicación.

    Por lo general, este error ocurre en las siguientes situaciones:

    • El proyecto no pertenece a una organización: El cliente de OAuth predeterminado administrado por Google solo está disponible para los proyectos que pertenecen a una organización deGoogle Cloud . Si tu proyecto no pertenece a una organización, debes configurar credenciales de OAuth personalizadas para App Engine o para tu plataforma respectiva.
    • Se borraron o no se configuraron las credenciales de OAuth: Si ya configuraste credenciales de OAuth personalizadas y se borró el cliente de OAuth, vuelve a crear las credenciales en la página Credenciales y actualiza la configuración de IAP como se describe en Usa clientes de OAuth personalizados con IAP.

    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, HTTP 502 ID o secreto de cliente de OAuth vacío (Empty Google Account OAuth client ID(s)/secret(s).) Si tu proyecto no pertenece a una organización, configura credenciales de OAuth personalizadas. De lo contrario, visita la página Credenciales para verificar tu ID de cliente y secreto, o verifica la configuración con los métodos de la API (GET para Compute Engine, GET para App Engine) y restablecerlos con PATCH. Para obtener más información, consulta Error HTTP 502.
    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 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 actualizar este valor con el comando gcloud compute backend-services update.
    9 (con reglas de enrutamiento de rutas de acceso) Redireccionamiento de OAuth fallido Crea variantes de reglas de ruta para ambas versiones de cada ruta (con y sin barras 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 de cliente y el 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 restablecerla 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 Restringe el acceso a los recursos.
    52 No coinciden el nombre de host y 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 coinciden el nombre de host y el certificado SSL IAP no admite entradas de mapas 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 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 la limitación de solicitudes del cliente o comunicarte con el equipo de asistencia para aumentar la cuota si es necesario para un crecimiento legítimo.
    551 IAP habilitada en varios lugares No puedes habilitar IAP en la regla de reenvío y en el servicio de backend. Inhabilítala en una ubicación siguiendo las instrucciones que se indican en Habilita para Compute Engine.
    700, 701 Problemas con el 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 de 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 El nombre del grupo de personal no es 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 de firewall Verifica que el proceso de la VM se esté ejecutando y escuchando en el puerto esperado. También 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 ves el error en esta página, comunícate con Atención al cliente de Cloud y describe el error y la respuesta que obtienes de una llamada GET a la API. Asegúrate de quitar el secreto del cliente de la respuesta.