Skip to main content

Informationen zu Benutzerbereitstellung mit SCIM auf GitHub Enterprise Server

Erfahren Sie mehr über der Verwaltung des Lebenszyklus von Benutzerkonten mit SCIM auf Ihre GitHub Enterprise Server-Instance.

Note

SCIM für GitHub Enterprise Server befindet sich derzeit in der beta. Änderungen sind vorbehalten. GitHub empfiehlt zuerst das Testen mit einer Staginginstanz. Weitere Informationen findest du unter Testinstanz einrichten.

Informationen zur Benutzerbereitstellung für GitHub Enterprise Server

Wenn Sie SAML-SSO (einmaliges Anmelden) für Ihre GitHub Enterprise Server-Instance verwenden, können Sie SCIM so konfigurieren, dass Benutzerkonten automatisch erstellt oder gesperrt werden, und Zugriff auf Ihre Instance gewähren, wenn Sie die Anwendung auf Ihrem IdP zuweisen bzw. die Zuweisung aufheben. Weitere Informationen zu SCIM findest du unter System for Cross-Domain Identity Management: Protokoll (RFC 7644) auf der IETF-Website.

Wenn du die Benutzerbereitstellung nicht mit SCIM konfigurierst, kommuniziert dein Identitätsanbieter nicht automatisch mit GitHub Enterprise Server, wenn du die Anwendung einem Benutzenden zuweist oder die Zuweisung aufhebst. Ohne SCIM erstellt GitHub Enterprise Server ein Benutzerkonto mit Just-In-Time-Bereitstellung von SAML (JIT), wenn Benutzende zum ersten Mal zu GitHub Enterprise Server navigieren und sich mit Authentifizierung über deinen Identitätsanbieter anmelden.

Zum Konfigurieren der Bereitstellung für dein Unternehmen musst du die Bereitstellung auf GitHub Enterprise Server aktivieren, dann eine Provisioning-Anwendung auf deinem IdP installieren und konfigurierenoder die SCIM-Bereitstellung mit den REST-API-Endpunkten von GitHub für SCIM manuell konfigurieren.

Unterstützte Identitätsanbieter

GitHub arbeitet mit einigen Entwicklern von Identitätsverwaltungssystemen an einer vorgefertigten Integration mit GitHub Enterprise Server. Um Ihre Konfiguration zu vereinfachen und die vollständige Unterstützung sicherzustellen, nutzen Sie einen einzelnen Partner-IdP sowohl für die Authentifizierung als auch für die Bereitstellung.

Partneridentitätsanbieter

Die folgenden IDPs sind Partner-IDPs. Sie bieten eine Anwendung, mit der Sie sowohl die SAML-Authentifizierung als auch die SCIM-Bereitstellung konfigurieren können.

  • Microsoft Entra ID
  • Okta
  • PingFederate (Beta)

Wenn Sie einen einzelnen Partner-IdP sowohl für die Authentifizierung als auch für die Bereitstellung verwenden, bietet GitHub Unterstützung für die Anwendung auf dem Partner-IdP sowie die Integration von IdPs mit GitHub. Die Unterstützung für PingFederate befindet sich in beta.

Andere Identitätsverwaltungssysteme

Wenn Sie nicht einen einzigen Partner-IdP sowohl für die Authentifizierung als auch für die Bereitstellung verwenden können, können Sie ein anderes Identitätsmanagementsystem oder eine Kombination von Systemen verwenden. Das System muss:

  • Die Integrationsrichtlinien von GitHub einhalten
  • Eine Authentifizierung mithilfe von SAML gemäß der Spezifikation SAML 2.0 ermöglichen
  • Biete eine Benutzerlebenszyklusverwaltung mithilfe von SCIM an, die der SCIM 2.0-Spezifikation entspricht und mit der REST-API von GitHub kommuniziert. Weitere Informationen findest du unter Bereitstellen von Benutzern und Gruppen mit SCIM mithilfe der REST-API.

Wie verwalte ich Benutzerlebenszyklen mit SCIM?

Mit SCIM verwalten Sie den Lebenszyklus von Benutzerkonten aus Ihrem IdP:

  • Wenn Sie einen neuen Benutzer bereitstellen, fordert Ihr IdP Ihre GitHub Enterprise Server-Instance auf, ein Konto zu erstellen und eine Onboarding-E-Mail an den Benutzer zu senden. Wenn Sie der Anwendung in Ihrem IdP eine Gruppe zuweisen, stellt Ihr IdP Konten für alle Mitglieder der Gruppe bereit.
  • Wenn Sie die Informationen aktualisieren, die der Identität eines Benutzers auf Ihrem IdP zugeordnet sind, aktualisiert Ihr IdP das Konto des Benutzers auf GitHub.
  • Wenn Sie die Zuweisung eines Benutzers von der IdP-Anwendung aufheben oder ein Benutzerkonto bei Ihrem Identitätsanbieter deaktivieren, kommuniziert Ihr Identitätsanbieter mit GitHub, sodass alle Sitzungen ungültig gemacht werden und das Konto des Mitglieds deaktiviert wird. Die Informationen des deaktivierten Kontos werden gespeichert und der Benutzername wird in einen Hash des ursprünglichen Benutzernamens.
  • Wenn Sie einen Benutzer der IdP-Anwendung zuweisen oder sein Konto auf Ihrem IdP reaktivieren, wird das Benutzerkonto reaktiviert, und der Benutzername wird wiederhergestellt.

Wenn du die Team- und Organisationsmitgliedschaft, den Repositoryzugriff oder Berechtigungen konfigurieren möchtest, kannst du Gruppen auf deinem Identitätsanbieter verwenden. Weitere Informationen finden Sie unter Verwalten von Teammitgliedschaften mit Identitätsanbietergruppen.

Wenn SCIM aktiviert ist, kannst du über SCIM bereitgestellte Benutzer nicht mehr direkt auf GitHub Enterprise Server löschen, sperren oder höher stufen. Du musst diese Prozesse über deinen Identitätsanbieter verwalten.

Navigiere in deinen Unternehmenseinstellungen zur Registerkarte „Suspended Members“, um gesperrte Mitglieder anzuzeigen. Diese Seite ist vorhanden, wenn SCIM für GitHub Enterprise Server aktiviert ist.

  1. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du in GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Enterprise settings“ ist hervorgehoben.

  2. Klicke links auf der Seite in der Randleiste für das Enterprise-Konto auf People.

  3. Klicke auf Suspended Members.

Was geschieht, wenn ich SCIM aktiviere?

Wenn du derzeit SAML SSO verwendest und SCIM aktivierst, solltest du wissen, was mit vorhandenen Benutzerkonten auf GitHub Enterprise Server geschieht, sobald SCIM aktiviert ist.

  • Vorhandene Benutzer mit SAML-Zuordnungen können sich nicht anmelden, bis ihre Identitäten durch SCIM bereitgestellt wurden.
  • Vorhandene Benutzer, die mit der integrierten Authentifizierung erstellt wurden, können sich nur anmelden, wenn die integrierte Authentifizierung weiterhin aktiviert ist.
  • Wenn deine Instanz eine SCIM-Anforderung empfängt, werden SCIM-Identitäten vorhandenen Benutzern durch den Vergleich des SCIM-userName-Attributwerts mit dem GitHub Enterprise Server-Benutzernamen zugeordnet. Das bedeutet, dass ein vorhandenes GitHub Enterprise Server-Benutzerkonto unabhängig davon, ob es ursprünglich als lokales Benutzerkonto oder über die SAML JIT-Bereitstellung erstellt wurde, in ein mit SCIM verknüpftes Benutzerkonto konvertiert werden kann, wenn diese beiden Werte übereinstimmen.
    • Wenn ein Benutzerkonto mit einem übereinstimmenden Benutzernamen vorhanden ist, wird die SCIM-Identität durch GitHub Enterprise Server mit diesem Benutzerkonto verknüpft.
    • Wenn kein Benutzerkonto mit einem übereinstimmenden Benutzernamen vorhanden ist, wird eine neues Benutzerkonto durch GitHub Enterprise Server erstellt und mit dieser SCIM-Identität verknüpft.
  • Wenn GitHub erfolgreich einen Benutzer zuordnet, der über SAML mit einem vorhandenen Benutzerkonto authentifiziert wird, Kontodetails wie E-Mail-Adresse, Vorname oder Nachname jedoch nicht übereinstimmen, überschreibt die Instanz die Details mit Werten aus dem Identitätsanbieter. Außerdem werden bis auf die von SCIM bereitgestellte primäre E-Mail-Adresse alle anderen E-Mail-Adressen aus dem Benutzerkonto gelöscht.

Was geschieht während der SAML-Authentifizierung?

Nachdem ein Identitätsanbieteradmin einer Person Zugriff auf Ihre GitHub Enterprise Server-Instance, kann sich der Benutzende über den Identitätsanbieter authentifizieren, um mit SAML-SSO auf GitHub Enterprise Server zuzugreifen.

  • Wenn sich ein Benutzer über SAML authentifiziert, vergleicht GitHub einen normalisierten NameID-Anspruch vom IdP (oder einem anderen von Ihnen konfigurierten Wert) mit dem Benutzernamen des Kontos. Ausführliche Informationen zur Normalisierung findest du unter Überlegungen zum Benutzernamen für die externe Authentifizierung.
  • Wenn in der Instance kein Konto mit einem übereinstimmenden Benutzernamen vorhanden ist, schlägt für den Benutzer die Anmeldung fehl.
    • Um diese Übereinstimmung zu erzielen, vergleicht GitHub Enterprise Server den SAML-NameId-Anspruch vom Identitätsanbieter mit dem SCIM-Attribut userName für jedes Benutzerkonto, das in der Instanz durch SCIM bereitgestellt wird.
    • Für Entra ID vergleicht GitHub Enterprise Server außerdem den Objektbezeichner aus der SAML-Anforderung mit einer vorhandenen externen SCIM-ID.
  • Wenn deine Umgebung nicht NameID verwendet, um Benutzer eindeutig zu identifizieren, kann ein Websiteadministrator benutzerdefinierte Benutzerattribute für die Instanz konfigurieren. GitHub Enterprise Server berücksichtigt diese Zuordnung beim Konfigurieren von SCIM. Weitere Informationen zum Zuordnen von Benutzerattributen findest du unter Konfigurieren von SAML Single Sign-On für dein Unternehmen.

Wie wird SCIM deaktiviert?

Weitere Informationen zu den verschiedenen Möglichkeiten, wie SCIM deaktiviert werden kann, findest du unter Deaktivieren der SCIM-Bereitstellung für Benutzende.

Erste Schritte

Um mit SCIM zu beginnen, werden Sie Folgendes tun:

  1. Schließe die Ersteinrichtung in Konfigurieren der SCIM-Bereitstellung zum Verwalten von Benutzern unabhängig davon ab, welchen Identitätsanbieter du verwendest.
  2. Konfigurieren Sie Einstellungen in Ihrem IdP.