En este artículo, 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 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
- Apps de Cloud Run con servicios de backend de balanceo de cargas HTTP(S).
Actualmente, 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?
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 se muestra un código de estado 405 Método no permitido?
El origen de este error puede estar en que tus solicitudes no llevan cookies adjuntas. Según la configuración predeterminada, los métodos de JavaScript no adjuntan cookies a las solicitudes.
La forma de incluir cookies varía dependiendo del método de solicitud que utilices. Por ejemplo, las solicitudes enviadas con un objeto XMLHttpRequest
necesita la propiedad withCredentials
establecida en true
, mientras que las solicitudes enviadas con la API de recuperación necesitan la opción credentials
configurada en include
o same-origin
.
Para obtener información sobre cómo manejar los errores que se producen después de un tiempo, consulta Administración de las sesiones de Cloud IAP.
¿Por qué recibo un código de estado HTTP 401 No autorizado en lugar de un HTTP 302 Redireccionamiento?
IAP responde con un código de estado 302 Redirect
cuando un cliente está configurado para manejar redireccionamientos. Para indicar que tu cliente puede manejar redireccionamientos, asegúrate de que HTTP Accept="text/html,*/*"
esté en el encabezado de las solicitudes.
¿Por qué las solicitudes POST no activan redireccionamientos?
Para activar redireccionamientos, asegúrate de que las llamadas a IAP no sean solicitudes POST. Los navegadores no redireccionan como respuesta a las solicitudes POST. Debido a esto, IAP responde con un código de estado 401 Unauthorized
en lugar de 302 Redirect
.
Si necesitas IAP para entregar solicitudes POST, asegúrate de que el token de ID o las cookies válidas se envíen en el encabezado de la solicitud.
Incluye el token de ID en un encabezado Authorization: Bearer
para realizar una solicitud autenticada al recurso protegido con IAP.
Para obtener cookies válidas, actualiza la sesión.
¿Puedo usar IAP si inhabilité la API?
Sí, el acceso a los recursos protegidos con IAP funciona con la API inhabilitado, pero no podrás realizar cambios en IAM permisos.
¿Cómo puedo evitar que los usuarios con la función de propietario usen IAP para TCP?
Primero, evita usar la función de propietario (roles/owner
) tanto como sea posible. La función de propietario otorga amplios permisos en Google Cloud. Asignar funciones y permisos más detallados puede aumentar la seguridad de tu proyecto. Para obtener más información, consulta las prácticas recomendadas de IAM.
Si no puedes reducir el uso de la función de propietario, puedes bloquear IAP para TCP mediante reglas de firewall.
¿Qué dominio usa IAP para TCP?
IAP utiliza los siguientes dominios, que son propiedad de Google:
tunnel.cloudproxy.app
mtls.tunnel.cloudproxy.app
si el acceso basado en certificados esté habilitado.
Si te conectas a través de un servidor proxy o firewall, asegúrate de que permitan el tráfico a estos dominios, y que no bloqueen el uso de conexiones de WebSocket.
Si bloqueas el tráfico a estos dominios, no podrás usar IAP para TCP. Es posible que recibas uno de varios mensajes de error.
Si usas gcloud
, el mensaje de error podría ser el siguiente:
Error while connecting [[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
Si usas SSH desde el navegador, el mensaje de error es el siguiente:
Cloud Identity-Aware Proxy Failed
No hay ningún código de error asociado.
¿Por qué recibo el error Server Error
?
Si recibes el siguiente mensaje de error, es posible que tu firewall esté inhabilitando las IP 130.211.0.0/22
y 35.191.0.0/16
:
Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.
Si las IP del balanceador de cargas 130.211.0.0/22
y 35.191.0.0/16
no pueden llegar a tu backend, es posible que no se pueda acceder a tus aplicaciones. Para obtener más información, consulta Configura un balanceador de cargas de HTTPS externo.
Si usas IAP para TCP a fin de conectarte a una VM específica, esta debe aceptar conexiones de direcciones en el rango 35.235.240.0/20
.
¿Por qué recibo errores intermitentes del servidor interno?
Un mensaje de error en el siguiente formato indica una falla interna:
An internal server error occurred while authorizing your request. Error code X
Los errores internos con códigos de error 1
, 30
, 62
, 63
, 64
o 703
indican
fallas de backend. Una tasa baja de estos errores de backend a menudo indica un problema
problema. Los clientes deben reintentar la solicitud con una retirada exponencial.
¿Cómo puedo abordar los errores de cuota excedida (código de error 429)?
El código de error 429 indica que el tráfico a la aplicación se está limitando por IAP. IAP aplica un límite de 360,000 solicitudes por minuto. por proyecto. Si hay varias aplicaciones alojadas en un solo proyecto, el Estas cuotas se aplican al total de solicitudes que recibieron todos IAP de aplicaciones en el proyecto.
Si recibes errores de cuota excedida de IAP, consulta este hay algunas técnicas que puedes aplicar para aliviar el problema. * No se recomienda la prueba de carga en instancias de producción. Si el aumento en la carga se debe a la prueba de carga, te recomendamos que encuentres rutas de red a tu aplicación que no invoca IAP.
Si tu aplicación recibe mucho tráfico de servicio a servicio, te recomendamos lo siguiente: implementas la retirada exponencial del cliente para manejar los errores 429 correctamente.
Si hay varias aplicaciones de alto tráfico dentro del mismo proyecto, considera mover algunas de las aplicaciones a un proyecto diferente.
Si la aplicación se compila como una API y no como una aplicación web, considera con soluciones de API Gateway como Apigee.
Si el motivo del alto tráfico es el crecimiento orgánico, comunícate con el equipo de Asistencia de Google Cloud con una solicitud de aumento del límite de cuota.
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 o mensaje de error | Descripción | Soluciona problemas |
---|---|---|
Código de error 7 | Tu ID de cliente de OAuth o los valores secretos están vacíos. | A fin de verificar que tu ID de cliente y tu secreto estén configurados correctamente para tu aplicación, consulta la página Credenciales. Si parece que tu ID de cliente y tu secreto están configurados correctamente, usa el método GET para ver el estado actual y el método PATCH a fin de restablecer el ID de cliente y el secreto: • API de Compute Engine: GET , PATCH • API de App Engine: GET , PATCH |
Código de error 9 | No se completó un redireccionamiento de OAuth. | Este es un error interno y se registró para su revisión. |
Código de error 9 (con reglas de reescritura de ruta de acceso) | No se completó un redireccionamiento de OAuth. | Las reglas de reescritura de rutas del balanceador de cargas de Google Cloud interfieren en la capacidad de IAP de completar correctamente un flujo de OAuth. Si alojas varios backends detrás del balanceador de cargas de Google Cloud y usas reglas de reescritura de rutas, asegúrate de que ambos usen los mismos IDs de cliente de OAuth para IAP. Puedes cambiar el ID de cliente de OAuth para un servicio de backend con el comando gcloud compute backend-services update. |
Código de error 11 | Tu ID de cliente de OAuth no está configurado correctamente. | A fin de verificar que tu ID de cliente y tu secreto estén configurados correctamente para tu aplicación, consulta la página Credenciales. Si parece que tu ID de cliente y tu secreto están configurados correctamente, usa el método GET para ver el estado actual y el método PATCH a fin de restablecer el ID de cliente y el secreto: • API de Compute Engine: GET , PATCH • API de App Engine: GET , PATCH |
Código de error 13 | El token de OpenID Connect (OIDC) no es válido. | A fin de asegurarte de que el ID de cliente configurado para IAP no se borre, consulta la página Credenciales. |
Código de error 51 | Tu navegador no admite la agrupación de conexiones. | Un navegador actualizado puede manejar errores de agrupación de conexiones. Asegúrate de que los usuarios finales usen un navegador actualizado. Para obtener más información, consulta Restringe el acceso a los recursos a dominios específicos. |
Código de error 52 | El nombre de host proporcionado no coincide con el certificado SSL del servidor. | Es posible que el administrador del sistema deba actualizar el certificado SSL. Para obtener más información, consulta Restringe el acceso a los recursos a dominios específicos. |
Código de error 53 | El nombre de host no coincide con los dominios que permite el administrador de IAP. | El administrador debe actualizar la lista de dominios permitidos para incluir tu nombre de host. Para obtener más información, consulta Restringe el acceso a los recursos a dominios específicos. |
Código de error 429 | Tu proyecto supera el umbral por minuto de solicitudes. | Los proyectos IAP están limitados a un máximo de 360,000 solicitudes por minuto. Si encuentras este error, reduce el volumen de solicitudes de tu proyecto. Puedes comunicarte con la Asistencia de Google Cloud si tienes más preguntas. |
Código de error 700, 701 | Tu grupo de trabajadores configurado no tiene un proveedor (700) ni más de un proveedor (701). | IAP requiere exactamente un proveedor en un grupo de trabajadores para usar la federación de identidades de personal. Consulta Limitaciones cuando se trabaja con grupos de trabajadores. |
Código de error 705 | Tu ID de cliente de OAuth para usar IAP con la federación de identidades de personal está vacío. | Verifica que se hayan seguido los pasos de Crear un ID y secreto de cliente de OAuth y Actualizar la configuración de IAP. |
Código de error 4003 | Esto puede significar que la instancia no escucha en el puerto al que intentas conectarte o que el firewall está cerrado. Cualquiera de esos problemas también podría hacer que falle la prueba de conectividad de inicio a la instancia de VM. | Asegúrate de que el proceso de escucha en la VM se esté ejecutando y escuchando en el puerto correcto. Además, verifica que tu firewall de Google Cloud esté configurado correctamente y que esté abierto en el puerto al que te estás conectando. |
Código de error 4010 | Se estableció una conexión, pero la instancia de destino la cerró. Por lo general, esto indica que hay un problema en la instancia o en el programa que escucha en el puerto de destino. | Restablece la instancia. Si usas SSH para conectarte, revisa el registro auth.log a fin de ver si hay errores inesperados. La ubicación predeterminada del archivo de registro es /var/log/ . Si no puedes acceder a los registros con SSH, intenta usar la consola en serie o desconectar y volver a conectar el disco a una VM nueva para ver los registros. Adjunta los registros cuando te comuniques con el equipo de asistencia al cliente. |
Código de error 4033 | O bien no tienes permiso para acceder a la instancia, la instancia no existe o la instancia está detenida. | Visualiza la página de Identity-Aware Proxy para asegurarte de tener la función de usuario de túnel protegido con IAP de IAM aplicada en el recurso al que te estás conectando. |
Código de error 4047 | La instancia no existe o se detuvo. | Asegúrate de que la VM esté encendida y haya completado su inicio. |
Si no puedes resolver el problema, comunícate con la asistencia al cliente mediante la descripción del error y la respuesta que recibes de una llamada GET
a la API. Puedes quitar el secreto del cliente de la respuesta.