Acerca de los problemas con la autenticación SAML
GitHub Enterprise Server registra mensajes de error para la autenticación de SAML con errores en el registro de autenticación en /var/log/github/auth.log. Puedes revisar las respuestas en este archivo de registro, así como configurar un registro más detallado.
Para obtener más información sobre los requisitos de respuesta de SAML, consulta "Referencia de configuración de SAML".
Configurar la depuración de SAML
Puede configurar GitHub Enterprise Server a fin de escribir registros detallados de depuración en /var/log/github/auth.log para cada intento de autenticación de SAML. Es posible que puedas solucionar los problemas de los intentos de autenticación fallidos con esta salida adicional.
Advertencias:
- Habilita la depuración de SAML solo temporalmente e inhabilita la depuración inmediatamente después de que termines de solucionar los problemas. Si dejas habilitada la depuración, el tamaño de tu bitácora podría incrementarse mucho más rápido de lo habitual, lo cual podría impactar negativamente el rendimiento de GitHub Enterprise Server.
- Prueba los ajustes de autenticación nuevos de your GitHub Enterprise Server instance en un ambiente de pruebas antes de aplicar los ajustes en tu ambiente de producción. Para más información, vea "Configuración de una instancia de ensayo".
-
En la esquina superior derecha de GitHub Enterprise Server, haga clic en la foto de perfil y luego en Configuración de empresa. 1. En la barra lateral de la empresa, haz clic en Directivas. 1. En Directivas, haga clic en Opciones.
-
En "SAML debugging" (Depuración de SAML), seleccione la lista desplegable y haga clic en Enabled (Habilitado).
-
Intenta iniciar sesión en your GitHub Enterprise Server instance mediante tu IdP de SAML.
-
Revise la salida de depuración en /var/log/github/auth.log en your GitHub Enterprise Server instance.
-
Cuando haya terminado de solucionar problemas, seleccione la lista desplegable y haga clic en Disabled (Deshabilitado).
Descodificación de respuestas en auth.log
Algunos resultados de auth.log pueden estar codificados en Base64. Puede acceder al shell administrativo y utilizar la utilidad de base64
en your GitHub Enterprise Server instance para descodificar estas respuestas. Para obtener más información, consulte "Acceso al shell administrativo (SSH)".
$ base64 --decode ENCODED OUTPUT
Error: "Another user already owns the account"
Cuando un usuario inicia sesión en your GitHub Enterprise Server instance por primera vez con la autenticación de SAML, GitHub Enterprise Server crea una cuenta de usuario en la instancia y asigna el elemento NameID
de SAML a la cuenta.
Cuando el usuario vuelve a iniciar sesión, GitHub Enterprise Server compara la asignación de NameID
de la cuenta con la respuesta del IdP. Si elemento NameID
de la respuesta del IdP ya no coincide con el elemento NameID
que GitHub Enterprise Server espera para el usuario, se producirá un error en el inicio de sesión. El usuario verá el siguiente mensaje.
Another user already owns the account. Please have your administrator check the authentication log.
Este mensaje habitualmente indica que el nombre de usuario o dirección de correo electrónico cambió en el IdP. Asegúrese de que la asignación NameID
de la cuenta de usuario en GitHub Enterprise Server coincide con el elemento NameID
del usuario en el IdP. Para más información, vea "Actualizar el NameID
del SAML de un usuario".
Si la respuesta SAML no está firmada o la firma no coincide con los contenidos, se presentará el siguiente mensaje de error en el registro de autenticación:
Si Recipient
no coincide con la URL de ACS para your GitHub Enterprise Server instance, uno de los siguientes dos mensajes de error se mostrará en el registro de autenticación cuando un usuario intente autenticarse.
Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.
Asegúrese de que haya configurado el valor de Recipient
en el IdP en la URL completa de ACS para your GitHub Enterprise Server instance. Por ejemplo, https://ghe.corp.example.com/saml/consume
.
Error: "SAML Response is not signed or has been modified"
Si tu IdP no firma la respuesta de SAML, o si la firma no empata con el contenido, se mostrará el siguiente mensaje de error en la bitácora de autenticación.
SAML Response is not signed or has been modified.
Asegúrate de configurar aserciones firmadas para la aplicación de GitHub Enterprise Server en tu IdP.
Error: "Audience is invalid" or "No assertion found"
Si la respuesta del IdP tiene un valor que falta o que es incorrecto Audience
, se mostrará el mensaje de error siguiente en el registro de autenticación.
Audience is invalid. Audience attribute does not match https://<em>YOUR-INSTANCE-URL</em>
Asegúrate de establecer el valor de Audience
del IdP en EntityId
para your GitHub Enterprise Server instance, que es la dirección URL completa de la instancia. Por ejemplo, https://ghe.corp.example.com
.
Error: "La hora actual es anterior a la condición NotBefore"
Este error puede producirse cuando hay una diferencia de tiempo demasiado grande entre el IdP y GitHub Enterprise Server, lo que suele ocurrir con IdP auto hospedados.
Para evitar este problema, se recomienda apuntar el dispositivo al mismo origen del Protocolo de tiempo de red (NTP) que el IdP, si es posible. Si te aparece este error, asegúrate de que la hora del appliance esté sincronizada correctamente con el servidor NTP.
Si se usa ADFS como idP, también se establece NotBeforeSkew
en ADFS en 1� minuto para GitHub. Si NotBeforeSkew
se establece en 0, hasta diferencias de tiempo muy pequeñas, incluidos milisegundos, puede causar problemas de autenticación.