Hinweis
SCIM wird in beta mit dieser Version von GitHub Enterprise Server unterstützt. Die SCIM-Unterstützung ist in Version 3.17 und höher allgemein verfügbar.
Wenn du SCIM für Ihre GitHub Enterprise Server-Instance aktiviert hast, verwendest du SCIM für Folgendes:
- Deaktivieren von Benutzern und Gruppen, um ihren Zugriff zu entfernen
- Reaktivieren von zuvor deaktivierten Benutzern
Bevor du einen Benutzer deaktivierst, ist es wichtig, die Auswirkungen der Deaktivierung nachzuvollziehen, die vom Typ des API-Aufrufs für die Deaktivierung abhängt, den GitHub von deinem Identitätsanbieter empfängt.
Wichtig
Stelle vor dem Fortfahren sicher, dass du verstehst, wie SCIM in deinem Unternehmen implementiert wurde. GitHub bietet eine Anwendung mit vorgefertigtem Pfad, wenn du für die Authentifizierung und Bereitstellung einen unterstützten Identitätsanbieter (IdP) verwendest. Wenn du keine Anwendung mit vorgefertigtem Pfad verwendest, verwende für SCIM-Anforderungen die REST-API. Weitere Informationen findest du unter Informationen zu Benutzerbereitstellung mit SCIM auf GitHub Enterprise Server.
Typen der Deaktivierung von Benutzern
Wenn ein Benutzer deaktiviert wird, wird das GitHub-Konto gesperrt. Dadurch kann der Benutzer nicht auf dein Unternehmen zugreifen. Unabhängig vom Typ der Deaktivierung wird ein gesperrtes Konto niemals aus einem Unternehmen gelöscht.
Durch den Typ des Deaktivierungsaufrufs, den GitHub von deinem Identitätsanbieter empfängt, wird bestimmt, ob ein deaktivierte Benutzer entsperrt (reaktiviert) werden kann.
- Vorläufiges Deaktivieren: In bestimmten Szenarios kann der Benutzer über deine SCIM-Integration entsperrt werden.
- Endgültiges Deaktivieren: Es ist nicht möglich, den Benutzer zu entsperren. Ein neues Konto muss bereitgestellt werden, wenn die Person wieder Zugriff benötigt.
Auswirkungen der Deaktivierung eines Benutzers
Wenn du ein Benutzerkonto über deinen Identitätsanbieter oder die REST-API deaktivierst, nimmt GitHub Änderungen am Benutzerkonto vor.
Auswirkungen der vorläufigen Deaktivierung
- Der Benutzer wird gesperrt und verliert den Zugriff auf dein Unternehmen und alle privaten Ressourcen.
- Nachdem das Benutzerkonto gesperrt wurde, wird es auf der Seite „Suspended members“ anstelle der Seite „Members“ im Abschnitt „People“ der Unternehmenseinstellungen aufgeführt.
- Der Benutzername wird als Hash des ursprünglichen Benutzernamens verschleiert.
- Mit Entra ID bleibt die E-Mail-Adresse des Benutzers gleich. In allen weiteren Fällen wird die E-Mail des Benutzers verschleiert.
- Die SCIM-Identität des Benutzers bleibt auf GitHub mit seinem Benutzerkonto verknüpft. Mit Entra ID wird der Wert des Attributwerts
active
in der gespeicherten verknüpften SCIM-Identität vonTrue
aufFalse
aktualisiert. - Wenn der Benutzer über Forks privater oder interner Repositorys verfügt, werden die Forks innerhalb von 24 Stunden gelöscht. Die Forks werden wiederhergestellt, wenn der Benutzer innerhalb von 90 Tagen entsperrt wird.
- Wenn der Benutzer Mitglied einer über SCIM bereitgestellten Identitätsanbietergruppe ist, wird sie aus diesen Gruppen ausgeblendet und aus allen Teams entfernt, die diesen Gruppen zugeordnet sind. Beachte, dass das auch dann geschieht, wenn der Benutzer weiterhin Mitglied der Gruppe aufseiten des Identitätsanbieters ist.
- Wenn die Organisationsmitgliedschaft durch Identitätsanbietergruppen verwaltet wird, wird der Benutzer aus Organisationen entfernt, wenn er aus diesen Identitätsanbietergruppen oder aus allen Teams entfernt wird, die Identitätsanbietergruppen in der Organisation zugeordnet sind.
- Wenn die Organisationsmitgliedschaft direkt verwaltet wird, bleibt der Benutzer als „gesperrtes Mitglied“ in der Organisation ohne Zugriff, ** bis er manuell entfernt wird**.
Auswirkungen der endgültigen Deaktivierung
- Der Benutzer wird gesperrt und verliert den Zugriff auf dein Unternehmen und alle privaten Ressourcen.
- Nachdem das Benutzerkonto gesperrt wurde, wird es auf der Seite „Suspended members“ anstelle der Seite „Members“ im Abschnitt „People“ der Unternehmenseinstellungen aufgeführt.
- Der Benutzername wird als Hash des ursprünglichen Benutzernamens verschleiert.
- Die E-Mail-Adresse des Benutzers wird verschleiert.
- Der Anzeigename des Benutzers wird auf eine leere Zeichenfolge festgelegt.
- Die verknüpfte SCIM-Identität des Benutzers wird einschließlich aller SCIM-Attribute des Benutzers gelöscht.
- Die personal access tokens, fine-grained personal access tokens, SSH-Schlüssel, GPG-Schlüssel und Anwendungsautorisierungen des Benutzers werden gelöscht. Das Löschen von Schlüsseln kann sich auf die Überprüfung von Commits auswirken. Weitere Informationen findest du unter Informationen zur Verifizierung einer Commit-Signatur.
- Repositorys im Besitz eines Benutzers werden gelöscht.
- Vom Benutzer erstellte Ressourcen wie Kommentare werden beibehalten.
- Wenn der Benutzer Mitglied einer über SCIM bereitgestellten Identitätsanbietergruppe ist, wird sie aus diesen Gruppen ausgeblendet und aus allen Teams entfernt, die diesen Gruppen zugeordnet sind. Beachte, dass das auch dann geschieht, wenn der Benutzer weiterhin Mitglied der Gruppe aufseiten des Identitätsanbieters ist.
- Wenn die Organisationsmitgliedschaft durch Identitätsanbietergruppen verwaltet wird, wird der Benutzer aus Organisationen entfernt, wenn er aus diesen Identitätsanbietergruppen oder aus allen Teams entfernt wird, die Identitätsanbietergruppen in der Organisation zugeordnet sind.
- Wenn die Organisationsmitgliedschaft direkt verwaltet wird, bleibt der Benutzer als „gesperrtes Mitglied“ in der Organisation ohne Zugriff, ** bis er manuell entfernt wird**.
Aktionen, die eine Deaktivierung auslösen
Verschiedene Aktionen lösen die vorläufige und endgültige Deaktivierung aus, und die Trigger variieren je nach SCIM-Integration. In der Regel lösen die meisten Aktionen, die du in den Identitätsanbieteranwendungen mit vorgefertigtem Pfad ausführst, lediglich eine vorläufige Deaktivierung aus. Es bestehen jedoch Ausnahmen.
Auslöser für die vorläufige Deaktivierung
SCIM-Integration | Auslöser für die vorläufige Deaktivierung |
---|---|
REST-API | Eine PUT - oder PATCH -Anforderung wird an /scim/v2/Users/{scim_user_id} gesendet, wodurch das Feld active eines Benutzers auf false aktualisiert wird. |
Entra ID | Ein Benutzer ist in Entra ID deaktiviert, seine Zuweisung zur Anwendung wurde aufgehoben, sie wurde aus allen zugewiesenen Gruppen entfernt oder durch die Administration vorläufig aus dem Mandanten gelöscht. Weitere Informationen findest du in der Microsoft-Dokumentation unter Vorläufige Löschungen. |
Okta | Die Zuweisung eines Benutzers zur Anwendung wird aufgehoben, oder der Benutzer wird aus allen zugewiesenen Gruppen entfernt oder mit der Schaltfläche „Deactivate“ deaktiviert. Beachte, dass die Schaltfläche „Suspend“ keine Anforderung an GitHub sendet. Okta sendet lediglich Anrufe für vorläufige Deaktivierungen. |
PingFederate | Der Benutzer wird gesperrt, deaktiviert oder aus dem Benutzerspeicher entfernt, der von der Bereitstellung verwendet wird. |
Auslöser für die endgültige Deaktivierung
SCIM-Integration | Auslöser für die endgültige Deaktivierung |
---|---|
REST-API | Eine DELETE -Anforderung wird an /scim/v2/Users/{scim_user_id} gesendet. |
Entra ID | Die endgültige Löschung eines Entra ID-Benutzerkontos, wie in der Microsoft-Dokumentation unter Endgültige Löschungen beschrieben. Entra ID-Benutzer, die vorläufig gelöscht werden (auf der Seite „Benutzer > Gelöschte Benutzer“ des Entra ID-Verwaltungsportals) werden 30 Tage nach dem vorläufigen Löschen durch Entra ID automatisch endgültig gelöscht. |
Okta | N/V. Okta sendet keine Aufrufe für die endgültige Deaktivierung. |
PingFederate | Wenn die Einstellung „Remove User Action“ infolge einer Fehlkonfiguration auf „Delete“ anstelle von „Disable“ festgelegt ist, sendet diese Aktion einen Aufruf für die endgültige Deaktivierung. Weitere Informationen findest du in der PingIdentity-Dokumentation. |
Reaktivieren eines vorläufig deaktivierten Benutzerkontos
Um den Zugriff und die Kontodetails des Benutzers wiederherzustellen, kannst du das Konto eines vorläufig deaktivierten Benutzers erneut bereitstellen, solang es sich dabei um dasselbe Benutzerkonto des Identitätsanbieters handelt. Das Benutzerkonto des Identitätsanbieters muss identisch sein, da ein vorläufig gesperrtes Benutzerkonto basierend auf der external ID
(Benutzerobjekt-ID des Identitätsanbieters) und User ID
von SCIM weiterhin mit dieser externen Identität verknüpft ist. Die externe Identität kann nicht geändert werden, die mit einem einzelnen vorläufig deaktivierten Benutzerkonto verknüpft ist.
Auswirkungen der Reaktivierung
- Der Benutzer ist entsperrt und erhält wieder Zugriff auf dein Unternehmen.
- Der Benutzername und die E-Mail-Adresse des Benutzers werden wiederhergestellt.
- Wenn der Benutzer Mitglied einer durch SCIM bereitgestellten Identitätsanbietergruppe ist, die einem Team in einer Organisation zugeordnet ist, wird der Benutzer unmittelbar nach der Reaktivierung seines Benutzerkontos zur Organisation hinzugefügt. Wenn er zuvor Mitglied der Organisation war, wird seine Mitgliedschaft reaktiviert, solang seit der Entfernung nicht mehr als 90 Tage vergangen sind. Weitere Informationen findest du unter Reaktivieren eines ehemaligen Mitglieds deiner Organisation.
- Wenn der Benutzer kein Mitglied einer durch SCIM bereitgestellten Identitätsanbietergruppe ist, die einem Team in einer Organisation zugeordnet ist, muss ein GitHub-Organisationsbesitzer das Benutzerkonto nach der Reaktivierung manuell der Organisation hinzufügen.
- Gelöschte Forks werden wiederhergestellt, wenn der Benutzer bis zu 90 Tage nach der Sperrung entsperrt wird.
- Dem Benutzer zugeordnete Elemente werden einschließlich der folgenden Elemente wiederhergestellt:
- GitHub Apps, OAuth apps und App-Autorisierungen
- Personal access tokens
- SSH-Schlüssel
- Token- und Schlüsselautorisierungen
- Repositorys im Besitz von Benutzern
Aktionen, die eine Reaktivierung auslösen
Wie du einen Benutzer reaktivierst, hängt von deiner SCIM-Integration und der Aktion ab, die die vorläufige Deaktivierung ausgelöst hat.
SCIM-Implementierung | Aktion zum Reaktivieren von Benutzern |
---|---|
Entra ID | Du kannst ein deaktiviertes Konto reaktivieren oder einen Benutzer direkt oder über eine zugewiesene Gruppe der Anwendung neu zuweisen. Warte 40 Minuten, bis die Änderungen verarbeitet wurden, oder beschleunige den Vorgang mit die Schaltfläche „Provision on Demand“. |
Okta | Reaktiviere das Konto, oder weise den Benutzer der Anwendung direkt oder über eine Gruppe neu zu. |
PingFederate | Entsperre oder reaktiviere den Benutzer im Benutzerspeicher, oder füge der Datenspeichergruppe oder dem Filter den Benutzer erneut hinzu, auf die die bereitstellende Instanz ausgerichtet ist. |
REST-API | Sende eine PUT - oder PATCH -Anforderung an /scim/v2/Users/{scim_user_id} , und aktualisiere das Feld active des Benutzers auf true . |
Reaktivieren eines endgültig deaktivierten Benutzerkontos
Du kannst kein GitHub-Benutzerkonto wiederherstellen, das über SCIM endgültig deaktiviert wurde. Stattdessen musst du ein neues GitHub-Konto für den Benutzer bereitstellen.
Du kannst den Benutzernamen des endgültig deaktivierten Benutzers beim Bereitstellen des neuen Kontos wiederverwenden. Es ist jedoch nicht möglich, das endgültig deaktivierte Benutzerkonto mit dem neuen Benutzerkonto auf GitHub zu mergen.
- Wenn die E-Mail-Adressen des endgültig gelöschten Benutzers und des neuen Benutzers übereinstimmen, ordnet GitHub vorhandene Git-Commits, die der E-Mail-Adresse zugeordnet sind, dem neuen Benutzer zu.
- Vorhandene Ressourcen und Kommentare, die vom ursprünglichen Benutzer erstellt wurden, werden nicht dem neuen Benutzer zugeordnet.
Überwachungsprotokollereignisse
Das Überwachungsprotokoll für Ihr Unternehmen zeigt Details zu Aktivitäten in Ihrem Unternehmen an. Sie können das Überwachungsprotokoll verwenden, um Ihre Konfiguration von SCIM zu unterstützen. Weitere Informationen finden Sie unter Informationen zum Überwachungsprotokoll für dein Unternehmen.
Wichtig
Es wird dringend empfohlen, dass ein Unternehmensbesitzer Unternehmensüberwachungsprotokollfeatures wie Überwachungsprotokollstreaming, Offenlegung der Quell-IP und die Option zum Streamen von API-Anforderungen ermöglicht. Wenn du diese Ereignisse streamst, kann die Administration eine Protokollaufbewahrungsrichtlinie festlegen, die den Anforderungen ihres Unternehmens entspricht, und ihre bevorzugten Tools zum Abfragen dieser Protokolle verwenden.
Ereignisse für das vorläufige Deaktivieren
Wenn Sie die Bereitstellung eines Benutzers vorläufig aufheben, wird das Ereignis external_identity.update
nicht im Überwachungsprotokoll angezeigt. Die folgenden Ereignisse werden im Überwachungsprotokoll angezeigt:
user.suspend
user.remove_email
user.rename
external_identity.deprovision
- Wenn die Anforderung erfolgreich war,
external_identity.scim_api_success
- Wenn die Anforderung fehlschlägt,
external_identity.scim_api_failure
- Wenn der Benutzer Mitglied von Identitätsanbietergruppen ist, die Teams zugeordnet sind:
team.remove_member
- Wenn die Mitgliedschaft eines Benutzers in einer Organisation durch den Identitätsanbieter verwaltet wird und sie aus allen Teams entfernt wird, die Identitätsanbietergruppen in der Organisation zugeordnet sind:
org.remove_member
Ereignisse für das endgültige Deaktivieren
external_identity.deprovision
user.remove_email
- Wenn die Anforderung erfolgreich war,
external_identity.scim_api_success
- Wenn die Anforderung fehlschlägt,
external_identity.scim_api_failure
- Wenn der Benutzer Mitglied von Identitätsanbietergruppen ist, die Teams zugeordnet sind:
team.remove_member
- Wenn die Mitgliedschaft eines Benutzers in einer Organisation durch den Identitätsanbieter verwaltet wird und sie aus allen Teams entfernt wird, die Identitätsanbietergruppen in der Organisation zugeordnet sind:
org.remove_member
Ereignisse für das Reaktivieren
Wenn Sie einen Benutzer reaktivieren, wird das external_identity.update
-Ereignis nicht im Überwachungsprotokoll angezeigt. Die folgenden Ereignisse werden im Überwachungsprotokoll angezeigt:
user.unsuspend
user.remove_email
user.rename
external_identity.provision
- Wenn die Anforderung erfolgreich war,
external_identity.scim_api_success
- Wenn die Anforderung fehlschlägt,
external_identity.scim_api_failure
- Wenn der Benutzer Mitglied einer durch SCIM bereitgestellten Identitätsanbietergruppe ist und diese Gruppe einem Team in einer Organisation zugeordnet ist:
org.add_member