Teamsynchronisierung

Abgeschlossen

Wenn Ihr Unternehmen Microsoft Entra-ID oder Okta als Identitätsanbieter (IdP) verwendet, können Sie die GitHub-Teammitgliedschaft über die Teamsynchronisierung verwalten. Wenn diese Option aktiviert ist, spiegelt die Teamsynchronisierung automatisch Änderungen in IdP-Gruppen auf GitHub wider, wodurch die Notwendigkeit manueller Updates oder benutzerdefinierter Skripts reduziert wird. Dieser zentralisierte Ansatz vereinfacht das Onboarding, die Berechtigungsverwaltung und die Zugriffssperrung.

Merkmal Beschreibung
Synchronisieren von Benutzern Beibehalten der Ausrichtung von GitHub Teams an der Gruppenmitgliedschaft des Identitätsanbieters (z. B. Active Directory)
Synchronisieren im neuen Team Automatisches Auffüllen von Teams bei der Erstellung
Benutzerdefinierte Teamzuordnung Verwenden Sie syncmap.yml, um benutzerdefinierte Zuordnungen zwischen Teamdatenfeldern und Gruppennamen zu definieren.
Dynamische Konfiguration Verwenden einer settings Datei zum Ableiten von Synchronisierungseinstellungen aus der Verzeichnisstruktur

Anwendungsfälle für die Teamsynchronisierung

Die Teamsynchronisierung eignet sich ideal für Unternehmen, die die Mitgliedschaftsverwaltung in GitHub-Organisationen optimieren möchten. Administratoren können GitHub-Teams idP-Gruppen zuordnen und Mitgliedschaften automatisch verwalten. Dies ist nützlich für:

  • Einarbeitung neuer Mitarbeitenden
  • Anpassen des Zugriffs, wenn Benutzer zwischen Teams wechseln
  • Entfernen von Benutzern, die die Organisation verlassen

⚠– Um die Teamsynchronisierung zu verwenden, muss Ihr IdP-Administrator SAML SSO und SCIM aktivieren.

Unternehmensverwaltete Benutzer und GitHub Enterprise Server

Die Teamsynchronisierung ist auch für Organisationen und Unternehmenskonten verfügbar, die GitHub Enterprise Cloud oder GitHub Enterprise Server (GHE.com) verwenden. Dies ist die bevorzugte Lösung in Regionen, in denen sie aus Compliancegründen verfügbar oder erforderlich ist.

Verwaltete Benutzer (Enterprise Managed Users, EMUs) sind ein GitHub Enterprise Cloud-Feature, mit dem Unternehmen die vollständige Kontrolle über die Benutzeridentität und den Kontolebenszyklus erhalten. Mit EMUs werden GitHub-Konten vollständig vom Identitätsanbieter des Unternehmens (IdP) verwaltet. Dies bedeutet, dass sich Benutzer nicht manuell für GitHub registrieren – alle Benutzerbereitstellungen, Zugriff und Offboarding werden über Tools wie Microsoft Entra ID oder Okta automatisiert.

EMUs eignen sich ideal für Organisationen mit strengen Compliance-, Überwachungs- oder Benutzergovernanceanforderungen. Sie tragen dazu bei, folgendes zu gewährleisten:

  • Alle Konten befinden sich im Besitz des Unternehmens.
  • Der Zugriff wird basierend auf der IdP-Mitgliedschaft automatisch gewährt oder entfernt.
  • Keine externe Zusammenarbeit geschieht unbeabsichtigt

Bei Verwendung von EMUs:

  • Verwaltete Benutzer können keinen Code an Repositorys außerhalb des Unternehmens übertragen oder verzweigen.
  • Sie können nur mit anderen Benutzern und Ressourcen innerhalb des Unternehmens interagieren.

Sie können EMU-basierte Organisation und Teammitgliedschaft mithilfe von Gruppen in Ihrem IdP verwalten und optional die Teamsynchronisierung integrieren, um die Zuordnung von Gruppen zu Team zu automatisieren.

Für Organisationen mit Anforderungen rund um selbsthosting oder bestimmte regionale Vorschriften bietet GitHub Enterprise Server (GHE.com) eine lokale Lösung, mit der Sie die vollständige Kontrolle über Ihre GitHub-Umgebung behalten können.

Weitere Informationen finden Sie unter "Erste Schritte mit GitHub Enterprise Cloud " und "About GitHub Enterprise Server".

Teamsynchronisierung im Vergleich zu SCIM für GHES

In GitHub Enterprise Server (GHES) können Benutzerzugriffs- und Teammitgliedschaften über verschiedene Methoden wie die Teamsynchronisierung und das System für domänenübergreifende Identitätsverwaltung (SCIM) verwaltet werden. Das Verständnis dieser Methoden ist für eine effektive Verwaltung unerlässlich.

Teamsynchronisierung in GHES

Mit der Teamsynchronisierung können Sie GitHub-Teams mit Gruppen in Ihrem Identitätsanbieter (IdP) verknüpfen. Diese Integration stellt sicher, dass alle Änderungen in der IdP-Gruppe , z. B. das Hinzufügen oder Entfernen von Mitgliedern, automatisch im entsprechenden GitHub-Team angezeigt werden. Dieser Ansatz optimiert die Teamverwaltung, indem die Benutzerzugriffskontrolle innerhalb des IdP zentralisiert wird.

Es ist jedoch wichtig zu beachten, dass die Teamsynchronisierung kein Benutzerbereitstellungsdienst ist und meistens keine Nicht-Mitglieder einlädt, Organisationen beizutreten. Daher wird ein Benutzer nur erfolgreich zu einem Team hinzugefügt, wenn er bereits Mitglied der Organisation ist.

Betrachten Sie das folgende Szenario, um zu verstehen, wie die Teamsynchronisierung in der Praxis funktioniert:

  • Wenn die Azure AD-Gruppe "DevOps Engineers" dem GitHub-Team "DevOps" zugeordnet ist
  • Wenn Alice der IdP-Gruppe hinzugefügt wird, wird sie automatisch dem GitHub-Team hinzugefügt.
  • Wenn sie die Gruppe verlässt, → automatisch aus dem Team entfernt

Hinweis

Die Teamsynchronisierung in GHES stellt keine Konten bereit. Benutzer müssen bereits GitHub-Organisationsmitglieder sein.

Aktivieren von Teamsynchronisierung

  1. Aktivieren Sie einmaliges Anmelden (Single Sign-On, SSO) über SAML (Security Assertion Markup Language) und SCIM in Ihrem Identitätsanbieter.
  2. Zuordnen von GitHub-Teams zu IdP-Gruppen über GitHub-UI oder API.
  3. Änderungen bei der Gruppenmitgliedschaft werden automatisch mit GitHub synchronisiert.

Unterstützte Identitätsanbieter:

  • Microsoft Entra-ID: Erfordert Berechtigungen für profillese- und Verzeichniszugriff.
  • Okta: Erfordert SAML-SSO, SCIM, Mandanten-URL und ein SSWS-Token (Single Sign-On for Web Systems, Einmaliges Anmelden für Websystem) mit schreibgeschütztem Administratorzugriff.

Deaktivieren von Teamsynchronisierung

So wird deaktiviert

  1. Navigieren Sie zu Einstellungen>Organisationssicherheit
  2. Klicken Sie auf "Teamsynchronisierung deaktivieren".

Screenshot der Organisationseinstellung zum Deaktivieren der Teamsynchronisierung.

Hinweis

Durch deaktivieren der Synchronisierung werden Benutzer aus Teams entfernt, wenn sie über die IdP-Zuordnung hinzugefügt wurden.

SCIM in GHES

SCIM ist ein offenes Standardprotokoll, das den Austausch von Benutzeridentitätsinformationen zwischen Identitätsdomänen und IT-Systemen automatisiert. Im Kontext von GHES ermöglicht SCIM Administratoren die Bereitstellung, Aktualisierung und Deprovision von Benutzerkonten direkt über die GitHub-API. Dies bedeutet, dass Sie Benutzerkonten erstellen, aktualisieren und löschen und Gruppeninformationen synchronisieren können, um GitHub-Teammitgliedschaften zuzuordnen.

SCIM ist nützlich für die Verwaltung von Benutzerlebenszyklus im Großen und Ganzen, um sicherzustellen, dass Benutzerdaten auf allen Systemen konsistent bleiben.

Betrachten Sie das folgende Szenario, um zu verstehen, wie SCIM in der Praxis funktioniert:

  • Okta SCIM-Integration versorgt GitHub-Benutzer automatisch
  • Bob wird zu Okta hinzugefügt, → GitHub-Konto bereitgestellt wird
  • Bob ändert Rollen → Zugriff und Teams-Update
  • Bob verlässt das Unternehmen → Die Bereitstellung des Kontos wird aufgehoben.

Hauptvorteil: Vollständige Automatisierung für die Verwaltung des Kontolebenszyklus.

Teamsynchronisierung im Vergleich zu Gruppen-SCIM

GitHub unterstützt zwei Primäre Identitätsintegrationsansätze:

  • Teamsynchronisierung: Konzentriert sich auf die Synchronisierung der Gruppenmitgliedschaft mit GitHub-Teams
  • Group SCIM: Fokussiert auf die vollständige Lebenszyklusverwaltung von Benutzern und Gruppen

Unterschiede zwischen Teamsynchronisierung und Gruppen-SCIM

Merkmal Teamsynchronisierung Gruppen-SCIM
Fokus Zuordnung auf Teamebene Benutzer- und Gruppenbereitstellung
Konfiguration Manuelle Zuordnung von Gruppen zu Teams Automatisiert über SCIM-Konfiguration des Identitätsanbieters
Automatisierungsebene Synchronisiert nur gruppenmitgliedschaft Vollständige Lebenszyklusautomatisierung
Idealer Anwendungsfall GitHub Teams-Verwaltung Große Organisationen mit hoher Benutzerfluktuation
Aufheben der Bereitstellung Manuell oder von der Gruppe des Identitätsanbieters abhängig Vollautomatisiert
Identitätsmodell Klassisch Verwaltete Benutzer

Auswählen des richtigen Ansatzes

Die Wahl zwischen Teamsynchronisierung und Gruppen-SCIM hängt von den Anforderungen, der Größe und der vorhandenen Identitätsverwaltungsinfrastruktur Ihrer Organisation ab:

Anwendungsfall Empfohlene Lösung
Verwalten des Repositoryzugriffs nach Teams Teamsynchronisierung
Automatisieren des Benutzerlebenszyklus Gruppen-SCIM
Vollständige auf dem identitätsanbieter basierende Governance erforderlich Gruppen-SCIM
GitHub Teams ist der Kern des Workflows. Teamsynchronisierung

Nutzungsgrenzwerte

Beachten Sie bei der Verwendung der Teamsynchronisierung die folgenden Grenzwerte:

  • Max. Mitglieder pro Team: 5.000
  • Max. Mitglieder pro Organisation: 10.000
  • Max. Teams pro Organisation: 1.500

Das Überschreiten dieser Grenzen kann zu Leistungsproblemen oder Synchronisierungsfehlern führen.