Skip to main content

Enterprise Server 3.20 ist derzeit als Release Candidate verfügbar.

Bereitstellen von Benutzern und Gruppen mit SCIM mithilfe der REST-API

Verwalten Sie den Lebenszyklus von Benutzerkonten Ihres Identitätsanbieters mit der REST API von GitHub für System for Cross-Domain Identity Management (SCIM).

Informationen zur SCIM-Bereitstellung auf GitHub Enterprise Server

Um Benutzerkonten mit SCIM bereitzustellen und zu verwalten, muss Ihr Identitätsverwaltungssystem die folgenden Funktionen bieten:

  • Single Sign-On-Authentifizierung zur Implementierung von Security Assertion Markup Language (SAML) 2.0
  • Verwaltung des Benutzerlebenszyklus mit System for Cross-Domain Identity Management (SCIM)

Wenn Sie die Authentifizierung und Bereitstellung für Ihr Unternehmen konfigurieren, können Sie entweder einen Partner-IdP verwenden oder eine andere Kombination aus Identitätsverwaltungssystemen verwenden.

  •         [Verwendung eines Partneridentitätsanbieters](#using-a-partner-identity-provider)
    
  •         [Verwenden anderer Identitätsverwaltungssysteme](#using-other-identity-management-systems)
    

Verwendung eines Partneridentitätsanbieters

Jeder IdP-Partner stellt eine „paved-path“-Anwendung bereit, die sowohl SSO als auch die Verwaltung des Benutzerlebenszyklus implementiert. Um die Konfiguration zu vereinfachen, empfiehlt GitHub, dieselbe Partner-IdP-Anwendung sowohl für die Authentifizierung als auch für die Bereitstellung zu verwenden. Weitere Informationen und eine Liste von Partner-IdPs findest du unter Informationen zur Benutzerbereitstellung mit SCIM auf GitHub Enterprise Server.

Weitere Informationen zum Konfigurieren der SCIM-Bereitstellung mithilfe eines Partner-IdP findest du unter Konfigurieren der SCIM-Bereitstellung zum Verwalten von Benutzern.

Verwenden anderer Identitätsverwaltungssysteme

Wenn du aufgrund von Migrationsaufwand, Lizenzierungskosten oder langwierigen Prozessen in der Organisation nicht denselben Partner-IdP für die Authentifizierung und die Bereitstellung verwenden kannst, kannst du ein anderes Identitätsverwaltungssystem oder eine Kombination aus verschiedenen Systemen verwenden. Die Systeme müssen die Authentifizierung mithilfe von SAML und der Benutzerlebenszyklusverwaltung mithilfe von SCIM bereitstellen und die Integrationsrichtlinien von GitHub einhalten.

GitHub unterstützt nicht ausdrücklich das Mischen von Partner-IdPs für die Authentifizierung und Bereitstellung und testet nicht alle Identitätsverwaltungssysteme. Das GitHub-Supportteam ist möglicherweise nicht in der Lage, Ihnen bei Problemen im Zusammenhang mit gemischten oder ungetesteten Systemen zu helfen. Wenn Sie Hilfe benötigen, müssen Sie die Dokumentation, das Supportteam oder andere Ressourcen des Systems konsultieren.

Wichtig

Die Kombination aus Okta und Entra ID für SSO und SCIM (in beliebiger Reihenfolge) wird explizit nicht unterstützt. Die SCIM-API von GitHub gibt bei Bereitstellungsversuchen einen Fehler an den Identitätsanbieter zurück, wenn diese Kombination konfiguriert ist.

Voraussetzungen

Für die Implementierung von SCIM mithilfe der REST-API gelten die allgemeinen Voraussetzungen für die Verwendung von SCIM auf GitHub Enterprise Server. Weitere Informationen findest du im Abschnitt „Voraussetzungen“ unter Konfigurieren der SCIM-Bereitstellung zum Verwalten von Benutzern.

Darüber hinaus gelten die folgenden Voraussetzungen:

Best Practices für die SCIM-Bereitstellung mit der REST-API von GitHub

Wenn du dein Identitätsverwaltungssystem konfigurierst, um Benutzer oder Benutzergruppen auf GitHub bereitzustellen, empfiehlt GitHub dringend, die folgenden Richtlinien einzuhalten.

  •         [Stellen Sie sicher, dass Ihr Identitätsverwaltungssystem die einzige Quelle für Schreibvorgänge ist](#ensure-your-identity-management-system-is-the-only-source-of-write-operations)
    
  •         [Senden gültiger Anforderungen an REST-API-Endpunkte](#send-valid-requests-to-rest-api-endpoints)
    
  •         [Bereitstellen von Benutzern vor der Bereitstellung von Gruppen](#provision-users-before-you-provision-groups)
    
  •         [Validieren Sie den Zugriff für Gruppen auf GitHub](#validate-access-for-groups-on-github)
    
  •         [Verstehen Sie Rate-Limits für GitHub](#understand-rate-limits-on-github)
    
  •         [Audit-Log-Streaming konfigurieren](#configure-audit-log-streaming)
    
  •         [Einschränken des Umfangs des SCIM-Tokens](#limit-the-scope-of-the-scim-token)
    
  •           [Verstehen Sie die Auswirkungen von Deprovisioning](#understand-the-effects-of-deprovisioning)
    

Stellen Sie sicher, dass Ihr Identitätsverwaltungssystem die einzige Quelle für Schreibvorgänge ist

Um sicherzustellen, dass Ihre Umgebung über eine Single Source of Truth verfügt, sollten Sie nur programmgesteuert in die REST-API für die SCIM-Bereitstellung aus Ihrem Identitätsverwaltungssystem schreiben. GitHub empfiehlt dringend, dass nur ein System POST, PUT, PATCH oder DELETE an die API sendet.

Sie können jedoch Informationen aus GitHubs APIs mit GET-Anforderungen in Skripts oder Ad-hoc-Anforderungen eines Unternehmensbesitzers sicher abrufen.

Warnung

Wenn du einen Partner-IdP für die SCIM-Bereitstellung verwendest, muss die Anwendung auf dem IdP das einzige System sein, das Schreibanforderungen an die API sendet. Wenn Sie Ad-hoc-Anforderungen mit den Methoden POST, PUT, PATCH oder DELETE vornehmen, schlagen nachfolgende Synchronisierungsversuche fehl und die Bereitstellung funktioniert für Ihr Unternehmen nicht ordnungsgemäß.

Senden gültiger Anforderungen an REST-API-Endpunkte

Die REST-API-Endpunkte von GitHub für die Bereitstellung von Benutzern mit SCIM erfordern wohlgeformte Anforderungen. Beachten Sie die folgenden Richtlinien:

  • Anforderungen, die nicht den Erwartungen der API entsprechen, geben einen 400 Bad Request-Fehler zurück.
  • REST-API-Endpunkte für die Bereitstellung von Benutzern mit SCIM erfordern einen User-Agent Header. GitHub lehnt Anforderungen ohne diesen Header ab.

Benutzer bereitstellen, bevor Sie Gruppen bereitstellen

SCIM-Gruppen sind effektiv für die Verwaltung des Benutzerzugriffs in großem Stil. Beispiel: Du kannst Gruppen im Identitätsverwaltungssystem verwenden, um die Team- und Organisationsmitgliedschaft auf GitHub zu verwalten.

Um die Teammitgliedschaft mit Gruppen in Ihrem Identitätsverwaltungssystem zu verwalten, müssen Sie die folgenden Schritte ausführen:

  1. Bereitstellen von Benutzerkonten auf GitHub
  2. Einrichten einer Gruppe auf GitHub
  3. Aktualisieren Sie die Mitgliedschaft der Gruppe im Identitätsverwaltungssystem.
  4. Erstelle auf GitHub ein Team, das der Gruppe im Identitätsverwaltungssystem zugeordnet ist.

Validiere den Zugriff für Gruppen auf GitHub

Wenn Sie den Zugriff mithilfe von Gruppen auf IhremIdentitätsverwaltungssystem verwalten, können Sie überprüfen, ob Benutzer den gewünschten Zugriff erhalten. Sie können die REST-API verwenden, um die Gruppenmitgliedschaften Ihres Systems mit dem Verständnis von GitHub dieser Gruppen zu vergleichen. Weitere Informationen findest du in der Dokumentation zur REST-API unter REST-API-Endpunkte für externe Gruppen und REST-API-Endpunkte für Teams.

Verstehen Sie die Ratenbegrenzungen auf GitHub

Wenn ein Websiteadministrator Grenzwerte für die Rate für Ihre Instanz aktiviert hat, treten möglicherweise Fehler auf, wenn Sie Benutzer zum ersten Mal bereitstellen. Du kannst deine IdP-Protokolle überprüfen, um zu bestätigen, ob versuchte SCIM-Bereitstellungen oder Pushvorgänge aufgrund eines Fehlers bei der Ratenbegrenzung fehlgeschlagen sind. Die Antwort auf einen fehlgeschlagenen Bereitstellungsversuch hängt vom IdP ab.

Weitere Informationen finden Sie unter Ratenbegrenzungen für die REST-API.

Konfigurieren des Streamings von Überwachungsprotokollen

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 Überwachungsprotokoll für ein Unternehmen.

Aufgrund des Volumens der Ereignisse in diesem Protokoll behält GitHub die Daten 180 Tage lang bei. Um sicherzustellen, dass Überwachungsprotokolldaten nicht verloren gehen und im Überwachungsprotokoll genauere Aktivitäten angezeigt werden sollen, empfiehlt GitHub, das Streaming von Überwachungsprotokollen zu konfigurieren. Wenn Sie das Überwachungsprotokoll streamen, können Sie optional Ereignisse für API-Anforderungen streamen, einschließlich Anforderungen an REST-API-Endpunkte für die SCIM-Bereitstellung. Weitere Informationen finden Sie unter Streaming des Überwachungsprotokolls für Ihre Organisation.

Einschränken des Umfangs des SCIM-Tokens

Für einen besseren Sicherheitsstatus empfehlen wir die Verwendung eines personal access token (classic) mit nur dem scim:enterprise-Bereich, um den Zugriff des Tokens auf die REST-API-Endpunkte zu beschränken, die für SCIM-Aufrufe erforderlich sind.

Wenn Sie derzeit ein Token mit dem Bereich admin:enterprise verwenden, beachten Sie, dass dieses Token Zugriff auf alle Aktionen im Unternehmen gewährt. Sie können Ihr Token gegen ein neues Token mit nur dem scim:enterprise Bereich austauschen, ohne dass es zu Störungen kommt.

Auswirkungen der Deprovisionierung verstehen

Um den Zugriff eines Benutzers auf GitHub zu entfernen, kannst du eine Anforderung zum „weichen“ oder „harten“ Deaktivieren an deinen SCIM-Anbieter senden. Die endgültige Deprovisionierung ist eine unwiderrufliche Aktion, durch die das GitHub-Konto eines Benutzers dauerhaft gelöscht wird.

Bevor du eine API-Integration implementierst, stelle sicher, dass du die Deaktivierungstypen und deren Auswirkungen verstehst. Um mehr über die verschiedenen Arten der Deprovisionierung, ihre Auswirkungen und die von ihnen generierten Überwachungsereignisse zu erfahren, lesen Sie Deaktivieren und Reaktivieren von Benutzern mit SCIM.

Bereitstellen von Benutzern mithilfe der REST-API

Um Benutzer bereitzustellen, aufzulisten oder zu verwalten, stellen Sie Anforderungen an die folgenden REST-API-Endpunkte. Sie können die zugehörigen API-Endpunkte in der REST-API-Dokumentation lesen und Codebeispiele anzeigen und Überwachungsprotokollereignisse überprüfen, die jeder Anforderung zugeordnet sind.

Bevor sich eine Person mit einer Identität in Ihrem Identitätsverwaltungssystem bei Ihrem Unternehmen anmelden kann, müssen Sie den entsprechenden Benutzer erstellen. Für Ihr Unternehmen ist keine verfügbare Lizenz erforderlich, um ein neues Benutzerkonto bereitzustellen.

  • Eine Übersicht über die unterstützten Attribute für Benutzer findest du in der Dokumentation zur REST-API unter SCIM.
  • Du kannst bereitgestellte Benutzer auf der Benutzeroberfläche für GitHub anzeigen. Weitere Informationen finden Sie unter Anzeigen von Personen in deinem Unternehmen.
  • Unternehmensadmins mit CLI-Zugriff können mithilfe des Tools ghe-scim-identities-csv eine vollständige CSV-Datei mit bereitgestellten SCIM-Benutzeridentitäten exportieren.
AktionMethodeEndpunkt und weitere InformationenEreignisse im Überwachungsprotokoll
Listet alle bereitgestellten Benutzer für Ihr Unternehmen auf, einschließlich aller Benutzer, die soft-deprovisioniert sind, indem active auf false gesetzt wird.GET/scim/v2/UsersN/V
Erstellen Sie einen Benutzer. Die Antwort der API enthält ein id-Feld zur eindeutigen Identifizierung des Benutzers.POST/scim/v2/Users
  • external_identity.provision
  • user.create
  • Wenn die Anforderung die enterprise_owner Rolle hinzufügt, business.add_admin
  • Wenn die Anforderung die billing_manager Rolle hinzufügt, business.add_billing_manager
  • Wenn die Anforderung erfolgreich ist, external_identity.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_identity.scim_api_failure
Rufen Sie einen vorhandenen Benutzer in Ihrem Unternehmen mithilfe des Felds id aus der Anforderung POST ab, die Sie zum Erstellen des Benutzers gesendet haben.GET/scim/v2/Users/{scim_user_id}N/V
Aktualisieren Sie alle Attribute eines vorhandenen Benutzers mithilfe des Felds id aus der Anforderung POST, die Sie zum Erstellen des Benutzers gesendet haben. Aktualisieren von active auf false, um die Bereitstellung des Benutzers vorläufig aufzuheben oder auf true, um den Benutzer erneut zu aktivieren. Weitere Informationen findest du unter Soft-Deprovisioning von Benutzern mit der REST API und Reprovisioning von Benutzern mit der REST API.PUT/scim/v2/Users/{scim_user_id}
  • external_identity.update, es sei denn, Soft-Deprovisioning oder erneute Bereitstellung
  • Wenn die Anforderung die enterprise_owner Rolle hinzufügt, business.add_admin
  • Wenn die Anforderung billing_manager hinzufügt, business.add_billing_manager
  • Wenn die Anforderung die enterprise_owner Rolle entfernt, business.remove_admin
  • Wenn die Anforderung die billing_manager Rolle entfernt, business.remove_billing_manager
  • Wenn die Anforderung erfolgreich ist, external_identity.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_identity.scim_api_failure
Aktualisieren Sie ein einzelnes Attribut für einen vorhandenen Benutzer mithilfe des Felds id aus der Anforderung POST, die Sie zum Erstellen des Benutzers gesendet haben. Aktualisieren von active auf false, um die Bereitstellung des Benutzers vorläufig aufzuheben oder auf true, um den Benutzer erneut zu aktivieren. Weitere Informationen findest du unter Soft-Deprovisioning von Benutzern mit der REST API und Reprovisioning von Benutzern mit der REST API.PATCH/scim/v2/Users/{scim_user_id}
  • external_identity.update, es sei denn, Soft-Deprovisioning oder erneute Bereitstellung
  • Wenn die Anforderung die enterprise_owner Rolle hinzufügt, business.add_admin
  • Wenn die Anforderung billing_manager hinzufügt, business.add_billing_manager
  • Wenn die Anforderung die enterprise_owner Rolle entfernt, business.remove_admin
  • Wenn die Anforderung die billing_manager Rolle entfernt, business.remove_billing_manager
  • Wenn die Anforderung erfolgreich ist, external_identity.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_identity.scim_api_failure
Um einen vorhandenen Benutzer dauerhaft zu sperren, kannst du den Benutzer endgültig aus der Provisionierung entfernen. Nach der endgültigen Entprovisionierung können Sie den Benutzer nicht reaktivieren und Sie müssen den Benutzer als neuen Benutzer einrichten. Weitere Informationen finden Sie unter Hard-Deprovisionierung von Benutzern mit der REST-API.DELETE/scim/v2/Users/{scim_user_id}
  • external_identity.deprovision
  • user.remove_email
  • Wenn die Anforderung erfolgreich ist, external_identity.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_identity.scim_api_failure

Soft-Deprovisioning von Benutzern mit der REST API

Um zu verhindern, dass sich ein Benutzer für den Zugriff auf Ihr Unternehmen anmeldet, können Sie die Bereitstellung des Benutzers vorläufig aufheben, indem Sie eine PUT- oder PATCH-Aufforderung zur Aktualisierung des active-Felds eines Benutzers auf false auf /scim/v2/Users/{scim_user_id} schicken. Wenn du die Soft-Deprovisionierung eines Benutzers durchführst, verschleiert GitHub die Felder login und email des Benutzerdatensatzes, und der Benutzer wird suspendiert.

Reaktivieren von Benutzern mit der REST-API

Um es einem Benutzer mit vorläufig aufgehobener Bereitstellung zu ermöglichen, sich für den Zugriff auf Ihr Unternehmen anzumelden, entsperren Sie den Benutzer, indem Sie eine PUT- oder PATCH-Anforderung an /scim/v2/Users/{scim_user_id} senden, die das Feld active des Benutzers auf true aktualisiert.

Endgültiges Deprovisioning von Benutzern mit der REST-API

Wichtig

Die endgültige Deprovisionierung ist eine unwiderrufliche Aktion, durch die das GitHub-Konto eines Benutzers dauerhaft gelöscht wird. Siehe Verstehen der Auswirkungen von Deprovisioning.

Sie können den Benutzer hart-deprovisionieren, indem Sie eine DELETE Anfrage an /scim/v2/Users/{scim_user_id} senden. Ihr Unternehmen behält alle vom Benutzer erstellten Ressourcen und Kommentare bei.

Bereitstellen von Gruppen mit der REST-API

Um den Zugriff auf Repositorys in Ihrem Unternehmen zu steuern, können Sie Gruppen in Ihrem Identitätsverwaltungssystem benutzen, um Organisations- und Teammitgliedschaften für Benutzer in Ihrem Unternehmen zu verwalten. Sie können die zugehörigen API-Endpunkte in der REST-API-Dokumentation lesen und Codebeispiele anzeigen und Überwachungsprotokollereignisse überprüfen, die jeder Anforderung zugeordnet sind.

Obwohl Ihr Unternehmen keine verfügbare Lizenz zum Bereitstellen eines neuen Benutzerkontos erfordert, müssen Sie über verfügbare Lizenzen für Benutzer verfügen, wenn Sie eine Gruppe bereitstellen, die zum Hinzufügen von Benutzern zu einer Organisation führt.

AktionMethodeEndpunkt und weitere InformationenVerwandte Ereignisse im Überwachungsprotokoll
Listet alle Gruppen auf, die für Ihr Unternehmen definiert sind.GET/scim/v2/GroupsN/V
Um eine neue IdP-Gruppe für Ihr Unternehmen zu definieren, erstellen Sie die Gruppe. Die Antwort der API enthält ein id-Feld zur eindeutigen Identifizierung der Gruppe.POST/scim/v2/Groups
  • external_group.provision
  • external_group.update_display_name
  • Wenn die Anforderung eine Liste der Benutzer enthält, external_group.add_member
  • Wenn die Anforderung erfolgreich ist, external_group.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_group.scim_api_failure
Rufen Sie eine vorhandene Gruppe für Ihr Unternehmen mithilfe der id von der POST-Anforderung ab, die Sie zum Erstellen der Gruppe gesendet haben.GET/scim/v2/Groups/{scim_group_id}N/V
Aktualisieren aller Attribute für eine vorhandene Gruppe.PUT/scim/v2/Groups/{scim_group_id}
  • external_group.update
  • Wenn die Anforderung den Namen der Gruppe aktualisiert, external_group.update_display_name
  • Wenn die Anforderung der Gruppe einen Benutzer hinzufügt, external_group.add_member
  • Wenn die Anforderung einen Benutzer aus der Gruppe entfernt, external_group.remove_member
  • Wenn die Anforderung erfolgreich ist, external_group.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_group.scim_api_failure
  • Zusätzliche Ereignisse können im Überwachungsprotokoll angezeigt werden, je nachdem, ob der Benutzer bereits Mitglied der Organisation mit dem Team ist, das Sie mit der IdP-Gruppe verknüpft haben. Weitere Informationen findest du unter Zusätzliche Überwachungsprotokollereignisse für Änderungen an IdP-Gruppen.
Aktualisieren eines einzelnen Attributs für eine vorhandene Gruppe.PATCH/scim/v2/Groups/{scim_group_id}
  • external_group.update
  • Wenn die Anforderung den Namen der Gruppe aktualisiert, external_group.update_display_name
  • Wenn die Anforderung der Gruppe einen Benutzer hinzufügt, external_group.add_member
  • Wenn die Anforderung einen Benutzer aus der Gruppe entfernt, external_group.remove_member
  • Wenn die Anforderung erfolgreich ist, external_group.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_group.scim_api_failure
  • Zusätzliche Ereignisse können im Überwachungsprotokoll angezeigt werden, je nachdem, ob der Benutzer bereits Mitglied der Organisation mit dem Team ist, das Sie mit der IdP-Gruppe verknüpft haben. Weitere Informationen findest du unter Zusätzliche Überwachungsprotokollereignisse für Änderungen an IdP-Gruppen.
Vollständiges Löschen einer vorhandene Gruppe.DELETE/scim/v2/Groups/{scim_group_id}
  • external_group.delete
  • Wenn die Anforderung eine Gruppe löscht, die mit einem Team in einer Organisation verknüpft ist, in der der Benutzer keine andere Teammitgliedschaft hat, org.remove_member
  • Wenn die Anforderung eine Gruppe löscht, die mit einem Team in einer Organisation verknüpft ist, in der der Benutzer über eine andere Teammitgliedschaft verfügt, team.remove_member
  • Wenn die Anforderung erfolgreich ist, external_group.scim_api_success
  • Wenn die Anforderung fehlschlägt, external_group.scim_api_failure

Zusätzliche Überwachungsprotokollereignisse für Änderungen an IdP-Gruppen

Wenn du die Mitglieder einer vorhandenen Gruppe mit einer PUT- oder PATCH-Anforderung auf /scim/v2/Groups/{scim_group_id} aktualisierst, kann GitHub den Benutzer abhängig von der aktuellen Organisationsmitgliedschaft dem Unternehmen hinzufügen oder aus der Organisation entfernen. Wenn der Benutzer bereits Mitglied mindestens eines Teams in der Organisation ist, ist der Benutzer Mitglied der Organisation. Wenn der Benutzer kein Mitglied eines Teams in der Organisation ist, ist der Benutzer möglicherweise auch noch kein Mitglied der Organisation.

Wenn Ihre Anforderung eine Gruppe aktualisiert, die mit einem Team in einer Organisation verknüpft ist, in der ein Benutzer nicht bereits Mitglied ist, werden zusätzlich zu external_group.update die folgenden Ereignissen im Überwachungsprotokoll angezeigt:

  • org.add_member
  • Wenn die Anforderung einen Benutzer zu einer Gruppe hinzufügt, die mit einem Team in einer Organisation verknüpft ist, in der der Benutzer noch kein Mitglied ist, org.add_member
  • Wenn die Anforderung den Benutzer zu einer Gruppe hinzufügt, die mit einem Team in einer Organisation verknüpft ist, team.add_member

Wenn Ihre Anforderung eine Gruppe aktualisiert, die mit einem Team in einer Organisation verknüpft ist, in der ein Benutzer bereits Mitglied ist, werden zusätzlich zu external_group.update die folgenden Ereignissen im Überwachungsprotokoll angezeigt:

  • Wenn die Anforderung den Benutzer aus einer Gruppe entfernt, die mit einem Team in einer Organisation verknüpft ist, und das Team nicht das letzte Team in der Organisation ist, in dem der Benutzer Mitglied ist, team.remove_member
  • Wenn die Anforderung einen Benutzer aus einer Gruppe entfernt, die mit dem letzten Team in einer Organisation verknüpft ist, in der der Benutzer bereits Mitglied ist, org.remove_member

Problembehandlung bei der SCIM-Bereitstellung

  • Wenn deine Anforderungen an die REST-API eine Ratenbeschränkung aufweisen, erfahren Sie mehr unter Grundlegendes zu Ratenbeschränkungen bei GitHub.

  • Alle SCIM-Anforderungen, die GitHub empfängt, mit Ausnahme erfolgreicher GET-HTTP-Anforderungen, generiert ein Überwachungsprotokollereignis. Diese Protokolle enthalten nützliche Informationen über das Anforderungsergebnis, Nutzdateninformationen und alle Fehler. Diese Protokolle können verwendet werden, um zu bestimmen, ob GitHub eine SCIM-Anforderung erhalten hat, und um API-Fehler zu beheben.

    • Um festzustellen, ob ein Benutzer bereitgestellt wurde, kannst du die folgende Überwachungsprotokollabfrage verwenden: action:external_identity.provision user:USERNAME
    • Wenn du einen Benutzer, der die oben genannte Abfrage verwendet, nicht findest, kannst du nach action:external_identity.scim_api_failure-Ereignissen am Datum suchen, an dem du die Anforderung erhalten haben solltest.
  • Wenn eine SCIM-Anforderung fehlschlägt und Sie die Ursache nicht ermitteln können, überprüfen Sie den Status Ihres Identitätsverwaltungssystems, um sicherzustellen, dass Dienste verfügbar waren.

  • Wenn bei einer Anforderung zum Bereitstellen eines Benutzers ein 400-Fehler auftritt und die Fehlermeldung im Protokoll deines Identitätsverwaltungssystems auf Probleme mit dem Kontobesitz oder der Benutzernamenformatierung hinweist, findest du weitere Informationen unter Überlegungen zum Benutzernamen für die externe Authentifizierung.

  • Nach erfolgreicher Authentifizierung verknüpft GitHub den authentifizierten Benutzer mit einer von SCIM bereitgestellten Identität. Die eindeutigen Bezeichner für Authentifizierung und Bereitstellung müssen übereinstimmen. Weitere Informationen findest du unter REST-API-Endpunkte für SCIM.

  • Wenn du den Zugriff mithilfe von Gruppen auf deinem Identitätsverwaltungssystem verwalten, kannst du Probleme durch Verwendung der REST-API oder Webbenutzeroberfläche für GitHub beheben.

Weitere Problembehandlungsvorschläge findest du unter Problembehandlung bei der Identitäts- und Zugriffsverwaltung deines Unternehmens.