Skip to main content

Cette version de GitHub Enterprise a été abandonnée le 2023-01-18. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Résolution des problèmes d’authentification SAML

Si vous utilisez l’authentification unique SAML et que les utilisateurs ne parviennent pas à s’authentifier pour accéder à your GitHub Enterprise Server instance, vous pouvez résoudre le problème.

À propos des problèmes liés à l’authentification SAML

GitHub Enterprise Server journalise les messages d’erreur en cas d’échec d’authentification SAML dans le journal d’authentification à l’emplacement /var/log/github/auth.log. Vous pouvez passer en revue les réponses dans ce fichier journal, et vous pouvez également configurer une journalisation plus détaillée.

Pour plus d’informations sur les exigences de réponse SAML, consultez « Référence de configuration SAML ».

Configuration du débogage SAML

Vous pouvez configurer GitHub Enterprise Server pour écrire des journaux de débogage détaillés dans /var/log/github/auth.log pour chaque tentative d’authentification SAML. Ce sortie supplémentaire vous aidera peut-être à résoudre les tentatives d’authentification avortées.

Avertissements :

  • N’activez le débogage SAML que de façon temporaire et désactivez-le de suite après avoir résolu les problèmes. Si vous laissez le débogage activé, la taille de votre journal peut augmenter beaucoup plus vite que la normale, ce qui peut avoir un impact négatif sur le niveau de performance de GitHub Enterprise Server.
  • Testez les nouveaux paramètres d’authentification pour your GitHub Enterprise Server instance dans un environnement de préproduction avant de les appliquer dans votre environnement de production. Pour plus d’informations, consultez « Configuration d’une instance intermédiaire ».
  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise. « Paramètres d’entreprise » dans le menu déroulant de la photo de profil sur GitHub Enterprise Server 1. Dans la barre latérale d’entreprise, cliquez sur Stratégies. Onglet Stratégies dans la barre latérale du compte d’entreprise 1. Sous Stratégies, cliquez sur Options. Onglet Options sur la barre latérale des paramètres du compte d’entreprise

  2. Sous « Débogage SAML », sélectionnez la liste déroulante, puis cliquez sur Activé.

    Capture d’écran de la liste déroulante permettant d’activer le débogage SAML

  3. Essayez de vous connecter à your GitHub Enterprise Server instance via votre IdP SAML.

  4. Passez en revue la sortie de débogage dans /var/log/github/auth.log sur your GitHub Enterprise Server instance.

  5. Une fois la résolution des problèmes terminée, sélectionnez la liste déroulante, puis cliquez sur Désactivé.

    Capture d’écran de la liste déroulante permettant de désactiver le débogage SAML

Décodage des réponses dans auth.log

Certaines sorties dans auth.log peuvent être encodées en Base64. Vous pouvez accéder à l’interpréteur de commandes d’administration et vous servir de l’utilitaire base64 sur your GitHub Enterprise Server instance. pour décoder ces réponses. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

$ base64 --decode ENCODED_OUTPUT

Erreur : « Un autre utilisateur est déjà propriétaire du compte »

Quand un utilisateur se connecte à your GitHub Enterprise Server instance. pour la première fois avec l’authentification SAML, GitHub Enterprise Server crée un compte d’utilisateur sur l’instance et mappe le NameID SAML au compte.

Quand l’utilisateur se connecte à nouveau, GitHub Enterprise Server compare le mappage du NameID du compte à la réponse de l’IdP. Si le NameID présent dans la réponse de l’IdP ne correspond plus au NameID que GitHub Enterprise Server attend pour l’utilisateur, la connexion échoue. L’utilisateur obtient le message suivant.

Un autre utilisateur est déjà propriétaire du compte. Demandez à votre administrateur de vérifier le journal d’authentification.

Le message indique généralement que le nom d’utilisateur ou l’adresse e-mail de la personne a changé au niveau de l’IdP. Vérifiez que le mappage du NameID du compte d’utilisateur sur GitHub Enterprise Server correspond au NameID de l’utilisateur au niveau de votre IdP. Pour plus d’informations, consultez « Mise à jour du NameID SAML d’un utilisateur ».

Erreur : Le destinataire dans la réponse SAML était absent ou non valide

Si le Recipient ne correspond pas à l’URL ACS de your GitHub Enterprise Server instance, l’un des deux messages d’erreur suivants s’affiche dans le journal d’authentification quand un utilisateur tente de s’authentifier.

Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.

Veillez à définir la valeur de Recipient au niveau de votre IdP sur l’URL ACS complète pour your GitHub Enterprise Server instance. Par exemple : https://ghe.corp.example.com/saml/consume.

Erreur : « La réponse SAML n’est pas signée ou a été modifiée »

Si votre IdP ne signe pas la réponse SAML ou que la signature ne correspond pas au contenu, le message d’erreur suivant s’affiche dans le journal d’authentification.

SAML Response is not signed or has been modified.

Veillez à configurer les assertions signées pour l’application GitHub Enterprise Server au niveau de votre IdP.

Erreur : « L’audience n’est pas valide » ou « Aucune assertion trouvée »

Si la valeur de Audience dans la réponse de l’IdP est vide ou incorrecte, le message d’erreur suivant s’affiche dans le journal d’authentification.

Audience is invalid. Audience attribute does not match https://<em>YOUR-INSTANCE-URL</em>

Veillez à définir la valeur de Audience au niveau de votre IdP sur EntityId pour your GitHub Enterprise Server instance., qui est l’URL complète de votre instance. Par exemple : https://ghe.corp.example.com.

Erreur : « L’heure actuelle est antérieure à la condition NotBefore »

Cette erreur peut se produire lorsqu’il y a une trop grande différence de temps entre votre fournisseur d’identité et GitHub Enterprise Server, ce qui arrive souvent avec les fournisseurs d’identité auto-hébergés.

Pour éviter ce problème, nous vous recommandons de faire pointer votre appareil vers la même source NTP (Network Time Protocol) que votre fournisseur d’identité, si possible. Si vous rencontrez cette erreur, assurez-vous que l’heure de votre appliance est correctement synchronisée avec votre serveur NTP.

Si vous utilisez ADFS comme fournisseur d’identité, définissez également NotBeforeSkew dans ADFS sur 1 minute pour GitHub. Si NotBeforeSkew est défini sur 0, même les différences de temps très petites, y compris de l’ordre de la milliseconde, peuvent entraîner des problèmes d’authentification.