Skip to main content

Überlegungen zum Benutzernamen für die externe Authentifizierung

Wenn du Enterprise Managed Users, befolgt GitHub Enterprise Cloud bestimmte Regeln, um den Benutzernamen für jedes Benutzerkonto in deinem Unternehmen.

Hinweis: Dieser Artikel gilt nur für Enterprise Managed Users. Wenn du GitHub Enterprise Cloud ohne Enterprise Managed Users verwendest, werden Benutzernamen von Benutzer*innen erstellt und nicht von GitHub.

Informationen zu Benutzernamen mit externer Authentifizierung

Wenn du ein Unternehmen mit Enterprise Managed Users verwendest, müssen sich Mitglieder deines Unternehmens authentifizieren, um auf GitHub über deinen SAML-Identitätsanbieter (IdP) zuzugreifen. Weitere Informationen findest du unter Informationen zu Enterprise Managed Users und unter Informationen zur Identitäts- und Zugriffsverwaltung.

GitHub erstellt automatisch einen Benutzernamen für jede Person, wenn ihr Benutzerkonto über SCIM bereitgestellt wird, indem ein Bezeichner normalisiert wird, der von deinem IdP bereitgestellt wird. Anschließend werden ein Unterstrich und Kurzcode hinzugefügt. Wenn mehrere Bezeichner im selben Benutzernamen normalisiert werden, tritt ein Benutzernamenskonflikt auf, und nur das erste Benutzerkonto wird erstellt. Du können Benutzernamenskonflikte lösen, indem du eine Änderung in deinem Identitätsanbieter vornimmst, sodass die normalisierten Benutzernamen eindeutig sind und den Grenzwert von 39 Zeichen einhalten.

Hinweis: Da GitHub beim Erstellen von Benutzernamen einen Unterstrich und Kurzcode zu dem von deinem IdP bereitgestellten normalisierten Bezeichner hinzufügt, können Konflikte nur in einem einzelnen Unternehmen mit verwalteten Benutzer*innen auftreten. Verwaltete Benutzerkonten kann IdP-Bezeichner oder E-Mail-Adressen für andere Benutzerkonten auf GitHub.com freigeben, die sich außerhalb des Unternehmens befinden.

Informationen zu Benutzernamen für verwaltete Benutzerkonten

Wenn deine Unternehmen mit verwalteten Benutzerinnen erstellt wird, wählst du einen Kurzcode aus, der als Suffix für die Benutzernamen der Mitglieder deines Unternehmens verwendet wird. Der kurze Code muss für Ihr Unternehmen eindeutig sein. Es muss sich um eine alphanumerische Zeichenfolge mit drei bis acht Zeichen handeln, die keine Sonderzeichen enthält. Der/die Setupbenutzerin, der/die SAML-SSO konfiguriert, besitzt einen Benutzernamen im Format @SHORT-CODE_admin .

Wenn du neue Benutzer*innen aus deinem Identitätsanbieter bereitstellst, verfügen diese neuen verwaltetes Benutzerkonto über einen GitHub-Benutzernamen im Format @IDP-USERNAME_SHORT-CODE . Die IDP-USERNAME-Komponente wird durch Normalisierung des SCIM-Attributwerts userName gebildet, der aus dem IdP gesendet wird.

IdentitätsanbieterGitHub-Benutzername
Microsoft Entra ID (früher Azure AD)Der IDP-USERNAME wird durch Normalisieren der Zeichen erzeugt, die dem Zeichen @ im UPN (Benutzerprinzipalname) vorausgehen, das nicht die #EXT# für Gastkonten enthält.
OktaIDP-USERNAME ist das normalisierte Benutzernamensattribut, das vom IdP bereitgestellt wird.

Diese Regeln können dazu führen, dass dein IdP denselben IDP-USERNAME für mehrere Benutzer bereitstellt. Für Entra ID führen beispielsweise die folgenden UPNs zu demselben Benutzernamen:

  • bob@contoso.com
  • bob@fabrikam.com
  • bob#EXT#fabrikamcom@contoso.com
  • bob_example#EXT#fabrikamcom@contoso.com
  • bob_example.com#EXT#fabrikamcom@contoso.com

Dies führt zu einem Benutzernamenskonflikt, und nur der erste Benutzer wird bereitgestellt. Weitere Informationen findest du unter Beheben von Problemen mit Benutzernamen.

Benutzernamen, einschließlich Unterstrich und Kurzcode, dürfen 39 Zeichen nicht überschreiten.

Informationen zur Normalisierung von Benutzernamen

Benutzernamen für Benutzerkonten auf GitHub.com dürfen nur alphanumerische Zeichen und Bindestriche (-) enthalten.

Wenn du die SAML-Authentifizierung konfigurierst, verwendet GitHub Enterprise Cloud den Attributwert userName von SCIM, der vom Identitätsanbieter gesendet wurde, um den Benutzernamen für das entsprechende Benutzerkonto auf GitHub.com zu bestimmen. Wenn dieser Wert nicht unterstützte Zeichen enthält, normalisiert GitHub Enterprise Cloud den Benutzernamen gemäß der folgenden Regeln.

  1. GitHub Enterprise Cloud normalisieren alle nicht-alphanumerischen Zeichen im Benutzernamen deines Kontos in einen Bindestrich. So wird der Benutzername mona.the.octocat beispielsweise auf mona-the-octocat normalisiert. Beachte, dass die normalisierten Benutzernamen weder mit einem Bindestrich beginnen noch darauf enden können. Darüber hinaus können sie nicht zwei aufeinanderfolgende Bindestriche enthalten.

  2. Aus E-Mail-Adressen erstellte Benutzernamen werden anhand der normalisierten Zeichen erstellt, die dem Zeichen @ vorangestellt sind.

  3. Benutzernamen, die anhand von Domänenkonten erstellt wurden, werden aus den normalisierten Zeichen nach dem Trennzeichen \\ erstellt.

  4. Wenn mehrere Konten zum selben GitHub Enterprise Cloud-Benutzernamen normalisiert werden, wird nur das erste Benutzerkonto erstellt. Nachfolgende Benutzer mit demselben Benutzernamen können sich nicht anmelden. Weitere Informationen findest du unter Beheben von Problemen mit Benutzernamen."

Beispiele für die Normalisierung von Benutzernamen

Bezeichner des AnbietersNormalisierter Benutzername für GitHubErgebnis
The.Octocatthe-octocat_SHORT-CODEDieser Benutzername wird erfolgreich erstellt.
!The.Octocat-the-octocat_SHORT-CODEDieser Benutzername wird nicht erstellt, da er mit einem Bindestrich beginnt.
The.Octocat!the-octocat-_SHORT-CODEDieser Benutzername wird nicht erstellt, da er mit einem Bindestrich endet.
The!!Octocatthe--octocat_SHORT-CODEDieser Benutzername wird nicht erstellt, da er zwei aufeinanderfolgende Bindestriche enthält.
The!Octocatthe-octocat_SHORT-CODEDieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
The.Octocat@example.comthe-octocat_SHORT-CODEDieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
internal\\The.Octocatthe-octocat_SHORT-CODEDieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-states_SHORT-CODEDieser Benutzername wird nicht erstellt, da er den Grenzwert von 39 Zeichen überschreitet.

Beheben von Problemen mit Benutzernamen

Wenn bei der Bereitstellung eines neuen Benutzers der Benutzername länger als 39 Zeichen ist (einschließlich Unterstrich und Kurzcode) oder mit einem bereits vorhandenen Benutzer im Unternehmen in Konflikt steht, schlägt der Bereitstellungsversuch mit dem Fehler 409 fehl.

Um dieses Problem zu lösen, musst du eine der folgenden Änderungen in deinem Identitätsanbieter vornehmen, damit alle normalisierten Benutzernamen innerhalb der Zeichenobergrenze liegen und eindeutig sind.

  • Ändere den Wert des Attributs userName für einzelne Benutzer, die Probleme verursachen.
  • Ändere die Zuordnung des Attributs userName für alle Benutzer.
  • Konfiguriere für alle Benutzer ein benutzerdefiniertes Attribut userName.

Wenn du die Attributzuordnung änderst, werden Benutzernamen vorhandener verwaltete Benutzerkonten aktualisiert, jedoch ändert sich nichts weiter an den Konten, auch nicht am Aktivitätsverlauf.

Hinweis: GitHub-Support kann keine Unterstützung beim Anpassen von Attributzuordnungen oder zum Konfigurieren von benutzerdefinierten Ausdrücken bieten. Wenn du diesbezüglich Fragen hast, wende dich an deinen Identitätsanbieter.

Beheben von Problemen mit Benutzernamen mit Entra ID

Um Probleme mit Benutzernamen in Entra ID zu beheben, ändere entweder den Wert des Benutzerprinzipalnamens für den in Konflikt stehenden Benutzer oder die Attributzuordnung für das Attribut userName. Wenn du die Attributzuordnung ändert, kannst du ein vorhandenes Attribut auswählen oder einen Ausdruck verwenden, um sicherzustellen, dass alle bereitgestellten Benutzer einen eindeutigen normalisierten Alias haben.

  1. Öffnen Sie in Entra ID die GitHub Enterprise Managed User-Anwendung.
  2. Klicke auf der linken Randleiste auf Bereitstellung.
  3. Klicke auf Bereitstellung bearbeiten.
  4. Erweitern Sie Zuordnungen und klicken Sie dann auf Benutzer der Entra-ID bereitstellen.
  5. Klicke auf die userName-Attributzuordnung von GitHub.
  6. Ändere die Attributzuordnung.
    • Wenn Sie ein vorhandenes Attribut in Entra ID dem userName-Attribut in GitHub zuordnen möchten, klicken Sie auf das gewünschte Attributfeld. Speichere und warte dann, bis der Bereitstellungszyklus beginnt. Dies sollte innerhalb von ca. 40 Minuten passieren.
    • Um einen Ausdruck anstelle eines vorhandenen Attributs zu verwenden, ändere den Zuordnungstyp in „Ausdruck“, und füge dann einen benutzerdefinierten Ausdruck hinzu, der diesen Wert für alle Benutzer eindeutig macht. Du kannst beispielsweise [FIRST NAME]-[LAST NAME]-[EMPLOYEE ID] verwenden. Weitere Informationen finden Sie unter Referenz zum Schreiben von Ausdrücken für Attributzuordnungen in Microsoft Entra ID auf Microsoft Learn.

Beheben von Problemen mit Benutzernamen mit Okta

Um Probleme mit Benutzernamen in Okta zu beheben, aktualisiere die Attributzuordnungseinstellungen für die GitHub Enterprise Managed User-Anwendung.

  1. Öffne in Okta die GitHub Enterprise Managed User-Anwendung.
  2. Klicke auf Anmelden.
  3. Klicke im Abschnitt „Einstellungen“ auf Bearbeiten.
  4. Aktualisiere das „Format für den Anwendungsbenutzernamen“.