Note
Hierbei handelt es sich um eine veraltete private beta-Version von SCIM für GitHub Enterprise Server. Kunden müssen ein Upgrade auf Version 3.14 oder höher durchführen und die beta für SCIM verwenden, damit ihr SCIM-Feedback oder ihre SCIM-Fehlerberichte berücksichtigt werden können.
Warning
Die beta dient ausschließlich zum Testen und für Feedback. Es ist keine Unterstützung dafür verfügbar. GitHub empfiehlt das Testen mit einer Staginginstanz. Weitere Informationen finden Sie 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 konfigurieren.
Unterstützte Identitätsanbieter
Während der private beta dokumentiert dein Kontoteam die Konfiguration von SCIM für GitHub Enterprise Server für einen unterstützten Identitätsanbieter.
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 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.
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Klicke links auf der Seite in der Randleiste für das Enterprise-Konto auf People.
-
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-AttributuserName
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.
- Um diese Übereinstimmung zu erzielen, vergleicht GitHub Enterprise Server den SAML-
- 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.
Voraussetzungen
-
Du musst SAML-SSO für Ihre GitHub Enterprise Server-Instance konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von SAML Single Sign-On für dein Unternehmen.
-
Du musst die integrierte Authentifizierung für Benutzer*innen zulassen, die kein Konto auf deinem IdP haben. Weitere Informationen finden Sie unter Zulassen integrierter Authentifizierung für Benutzer*innen außerhalb deines Anbieters.
-
Dein IdP muss SCIM-Aufrufe an einen Dienstanbieter (SP) unterstützen.
-
Du musst auf dem Identitätsanbieter über administrativen Zugriff verfügen, um die Anwendung für die Benutzerbereitstellung für GitHub Enterprise Server konfigurieren zu können.
Aktivieren der Benutzerbereitstellung für dein Unternehmen
Um Bereitstellungsaktionen für deine Instanz ausführen zu können, musst du ein dediziertes integriertes Benutzerkonto erstellen und zu einem Unternehmensbesitzer höher stufen.
Nach dem Aktivieren von SCIM auf einer Instanz von GitHub Enterprise Server sind alle Benutzerkonten gesperrt. Das integrierte Benutzerkonto führt weiterhin Bereitstellungsaktionen aus. Nachdem du einem Benutzer Zugriff auf deine Instanz über deinen Identitätsanbieter gewährt hast, kommuniziert der Identitätsanbieter mit der Instanz und verwendet SCIM, um das Konto des Benutzers zu entsperren.
-
Erstelle ein integriertes Benutzerkonto, um Bereitstellungsaktionen für deine Instanz auszuführen. Weitere Informationen finden Sie unter Zulassen integrierter Authentifizierung für Benutzer*innen außerhalb deines Anbieters.
-
Stufe das dedizierte Benutzerkonto auf „Unternehmensbesitzer“ hoch. Weitere Informationen finden Sie unter Einladen von Personen zum Verwalten deines Unternehmens.
-
Melde dich bei deiner Instanz als neuer Unternehmensbesitzer an.
-
Erstelle ein personal access token (classic) mit dem Umfang admin:enterprise. Gib kein Ablaufdatum für das personal access token (classic) an. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.
Warning
Achte darauf, kein Ablaufdatum für das personal access token (classic) anzugeben. Wenn du ein Ablaufdatum angibst, funktioniert SCIM nach dem Ablaufdatum nicht mehr.
Note
Dieses personal access token wird zum Testen der SCIM-Konfiguration sowie zum Konfigurieren der Anwendung für SCIM bei deinem Identitätsanbieter benötigt. Speichere das Token sicher in einem Kennwort-Manager, bis du das Token später in diesen Anweisungen erneut benötigst.
-
Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Führe zum Aktivieren von SCIM die Befehle aus, die von deinem oder deiner Konto-Manager*in auf Vertriebsteam von GitHub bereitgestellt wurden.
-
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Um zu überprüfen, ob SCIM betriebsfähig ist, führe die folgenden Befehle aus. Ersetze PAT AUS SCHRITT 3 und DEN HOSTNAMEN DEINER INSTANZ durch tatsächliche Werte.
$ GHES_PAT="PAT FROM STEP 3" $ GHES_HOSTNAME="YOUR INSTANCE'S HOSTNAME" $ curl --location --request GET 'https://$GHES_HOSTNAME/api/v3/scim/v2/Users' \ --header 'Content-Type: application/scim' \ --header 'Authorization: Bearer $GHES_PAT'
Der Befehl sollte ein leeres Array zurückgeben.
-
Konfiguriere die Benutzerbereitstellung in der Anwendung für GitHub Enterprise Server auf deinem Identitätsanbieter. Um eine Dokumentation für eine unterstützte IdP zu erhalten, wenden Sie sich bitte an Ihren Kundenbetreuer unter Vertriebsteam von GitHub. Wenn dein Identitätsanbieter nicht unterstützt wird, musst du die Anwendung manuell erstellen und SCIM manuell konfigurieren.