Benutzerautorisierung
Nachdem ein Benutzer sich erfolgreich über Ihren Identitätsanbieter (IdP) mithilfe von SAML Single Sign-On (SSO) authentifiziert hat, ist der nächste wichtige Schritt die Autorisierung – das Gewähren von Tools wie persönliche Zugriffstoken (PATs), SSH-Schlüsseln oder OAuth-Apps mit der Möglichkeit, auf Organisationsressourcen zuzugreifen.
Automatisieren der Benutzerautorisierung mit SAML SSO und SCIM
SSO (Security Assertion Markup Language, SAML) ermöglicht Unternehmens- und Organisationsbesitzern das Steuern des Zugriffs auf GitHub-Ressourcen wie Repositorys, Probleme und Pullanforderungen. Durch die Integration von SCIM (System für domänenübergreifende Identitätsverwaltung) wird die Zugriffssteuerung verbessert, indem die Benutzerbereitstellung und -entfernung automatisiert wird.
Mit SCIM erhalten neue Mitarbeiter, die Ihrem IdP hinzugefügt wurden, automatisch Zugriff auf GitHub, während ausscheidende Benutzer entfernt werden, manuelle Schritte reduziert und die Sicherheit verbessert werden.
Hinweis
Ohne SCIM unterstützt SAML SSO allein kein automatisches Entfernen von Organisationsmitgliedern.
SCIM widerruft auch veraltete Token nach Ablauf einer Sitzung, wodurch Sicherheitsrisiken reduziert werden. Ohne SCIM müssen veraltete Token manuell widerrufen werden.
Verwalten von SSH-Schlüsseln und PATs mit SAML-SSO
SAML SSO und SCIM arbeiten zusammen, um Identitätsänderungen in GitHub widerzuspiegeln. Um diesen Zusammenhalt zu unterstützen:
-
NameIDunduserNamemüssen zwischen dem SAML-Identitätsanbieter und dem SCIM-Client übereinstimmen. - Gruppenänderungen in Ihrem Identitätsanbieter lösen SCIM-Updates in GitHub aus.
Benutzer, die auf APIs oder Git zugreifen, müssen einen autorisierten PAT- oder SSH-Schlüssel verwenden. Diese Methoden sind auditierbar und sicher an SAML SSO gebunden.
Stellen Sie zum Vereinfachen des Onboardings Benutzende mithilfe von https://github.com/orgs/ORGANIZATION/sso/sign_up bereit. Zeigen Sie diesen Link in Ihrem IdP-Dashboard an.
Wenn Benutzer sich zum ersten Mal authentifizieren, verknüpft GitHub ihr Konto und sciM-Daten mit Ihrer Organisation. Administrierende können später Sitzungen und Anmeldeinformationen prüfen oder widerrufen, um das Offboarding zu automatisieren.
SCIM-Integration in GitHub
SCIM optimiert die Identitätsverwaltung in GitHub Enterprise Cloud, indem sowohl systemeigene Integrationen als auch benutzerdefinierte Konfigurationen unterstützt werden.
Unterstützte SCIM-Anbieter
GitHub unterstützt nativ Folgendes:
- Okta
- Microsoft Entra-ID
- OneLogin
- Ping-Identität
- Google Workspace
Diese Integrationen stellen eine zuverlässige Konfiguration und Kompatibilität sicher.
Benutzerdefinierte SCIM-Integrationen
Wenn Ihr IdP nicht nativ unterstützt wird, verwenden Sie die SCIM-API von GitHub, um benutzerdefinierte Integrationen zu erstellen.
SCIM-API –Übersicht
Die SCIM 2.0-API ermöglicht Folgendes:
- Erstellen, Aktualisieren und Löschen von Benutzern
- Verwalten von Gruppen
Beispielanforderung für die Bereitstellung eines Benutzers
POST /scim/v2/Users
Content-Type: application/json
{
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}
GitHub verarbeitet diese Anforderung und fügt den Benutzer zu Ihrer Organisation hinzu.
Erste Schritte
Für unterstützte Anbieter
- Melden Sie sich bei Ihrer IdP-Administratorkonsole an.
- Aktivieren Sie die SCIM-Bereitstellung.
- Stellen Sie die SCIM-Basis-URL und das Bearertoken von GitHub bereit.
Für benutzerdefinierte Identitätsanbieter
- Verwenden Sie die SCIM-REST-API von GitHub.
- Authentifizieren mit einem PAT.
- Testen Sie die Integration mit Beispielanforderungen.
Wichtige Vorteile der SCIM-Integration
- Bereitstellung: Automatisches Erstellen von Konten.
- Aktualisierungen: Synchronisieren sie Rollen und Abteilungen.
- Aufheben der Bereitstellung: Beim Beenden des Benutzers wird der Zugriff umgehend entfernt.
SCIM im Vergleich zur manuellen Benutzerverwaltung
| Aspekt | SCIM-Basierte Verwaltung | Manuelle Verwaltung |
|---|---|---|
| Automatisierung | Automatisiert die Bereitstellung und die Aufhebung der Bereitstellung | Manueller Eingriff erforderlich |
| Konsistenz | Standardisierte Benutzerdaten über Systeme hinweg | Risiko von Inkonsistenzen |
| Sicherheit | Rechtzeitige Deaktivierung des Zugriffs | Verzögerte oder verpasste Widerrufe |
| Skalierbarkeit | Skaliert mit umfangreichen Benutzergruppen | Im großen Stil umständlich |
| Einhaltung | Hilft bei der Erfüllung von Richtlinien- und Überwachungsanforderungen | Schwieriger zu verfolgen und zu melden |
Verbinden Ihres IdP mit GitHub
Sie können einen unterstützten Identitätsanbieter verwenden oder Ihren eigenen SAML 2.0 IdP verwenden.
Unterstützte Identitätsanbieter (mit eingerichtetem Pfad)
- Okta
- Microsoft Entra-ID
- Google Workspace
Einige Vorteile der Verwendung der unterstützten IDPs sind:
- Nahtlose Integration
- GitHub-unterstützt
- Geringerer Einrichtungsaufwand
Bring Your Own IdP (Verwenden eines eigenen Identitätsanbieters)
Die Verwendung eines eigenen Identitätsanbieters erfordert SAML 2.0-Unterstützung. Es hat den Vorteil, volle Flexibilität zu ermöglichen.
Integrationsschritte
| Typ | Schritte |
|---|---|
| Gepflasterter Pfad: | 1. Navigieren Sie zu unternehmensweiten Sicherheitseinstellungen. 2. Wählen Sie Ihren IdP aus. 3. Folgen Sie den Setupanweisungen. |
| Benutzerdefinierter IdP: | 1. Wechseln Sie zu den Sicherheitseinstellungen. 2. Wählen Sie einen benutzerdefinierten Identitätsanbieter aus. 3. Geben Sie SAML-Metadaten ein. 4. Validieren Sie die Verbindung. |
Vergleichen von IdP-Integrationspfaden
| Merkmal | Gepflasterter Pfad | Bring Your Own IdP (Verwenden eines eigenen Identitätsanbieters) |
|---|---|---|
| Setupprozess | ✅ Geführtes Setup | ⚠– Manuelle Konfiguration |
| Flexibilität | ⚠ ️Auf aufgeführte Identitätsanbieter beschränkt | ✅ Alle Identitätsanbieter mit SAML 2.0 |
| Instandhaltung | ✅ Von GitHub verwaltet | ⚠️ Von der Organisation verwaltet |
| Anpassung | ⚠^ Minimal | ✅ Vollständig anpassbar |
| Unterstützung und Aktualisierungen | ✅ GitHub-unterstützt | ⚠️ Selbstverwaltet |
Verwalten von Identitäten und Zugriff
SAML-SSO-Konfiguration
- Konfigurieren Sie Ihre SAML-SSO-URL.
- Geben Sie Ihr öffentliches Zertifikat an.
- Fügen Sie IDP-Metadaten hinzu.
Verwaltung von Anmeldeinformationen
PATs und SSH-Schlüssel müssen explizit autorisiert und mit IdP-Identitäten verknüpft sein, um sicher auf Organisationsressourcen zuzugreifen.
Überwachen von SAML-Sitzungen
- Aktive Sitzungen in den Einstellungen anzeigen.
- Widerrufen einzelner Sitzungen nach Bedarf.
Überlegungen zur GitHub-Mitgliedschaft
| Typ | Überlegung |
|---|---|
| GitHub-Instanzmitgliedschaft | – Zugriff auf öffentliche Repositorys - Erstellen persönlicher Projekte - Sichtbarkeit des öffentlichen Profils |
| Organisationsmitgliedschaft | – Rollenbasierter interner Zugriff - Profil für Organisationsadministratoren sichtbar - Könnte die Abrechnung beeinflussen |
| Mehrere Organisationsmitgliedschaften | - Unterschiedliche Rollen in allen Organisationen – Umfassenderer Ressourcenzugriff - Komplexe Zugriffsrechte und Abrechnung - Erfordert strenge Verwaltung |