Benutzerautorisierung

Abgeschlossen

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.

Screenshot der SCIM-Einstellung.

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:

  • NameID und userName mü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.

Screenshot des SSH-Schlüssels.

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

  1. Melden Sie sich bei Ihrer IdP-Administratorkonsole an.
  2. Aktivieren Sie die SCIM-Bereitstellung.
  3. Stellen Sie die SCIM-Basis-URL und das Bearertoken von GitHub bereit.

Screenshot der Schritte zur SCIM-Konfiguration in der Verwaltungskonsole von IdP.

Für benutzerdefinierte Identitätsanbieter

  1. Verwenden Sie die SCIM-REST-API von GitHub.
  2. Authentifizieren mit einem PAT.
  3. 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

  1. Konfigurieren Sie Ihre SAML-SSO-URL.
  2. Geben Sie Ihr öffentliches Zertifikat an.
  3. 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