Wie funktioniert die GitHub-Authentifizierung?
In der vorherigen Lerneinheit haben Sie die üblichen Verwaltungsaufgaben auf Team-, Organisations- und Unternehmensebene kennengelernt. In dieser Lektion werden Sie eine der am häufigsten verwendeten administrativen Aufgaben von Organisationsbesitzern untersuchen, die die Authentifizierung von Benutzern bei GitHub einrichten und steuern.
Authentifizierungsoptionen von GitHub
Es gibt mehrere Optionen für die Authentifizierung mit GitHub:
Benutzername und Kennwort
Administratoren können Benutzern gestatten, weiterhin die Standardauthentifizierungsmethode mit Benutzernamen und Kennwort zu verwenden, die auch als „einfaches“ HTTP-Authentifizierungsschema bezeichnet wird.
Hinweis
GitHub unterstützt keine Kennwortauthentifizierung mehr für Git-Vorgänge oder API-Verwendung. Es wird dringend empfohlen, eine (oder mehrere) der anderen Optionen zu verwenden, die in dieser Lerneinheit aufgeführt sind.
Persönliche Zugriffstoken
Persönliche Zugriffstoken (PAT) sind eine Alternative zur Verwendung von Kennwörtern für die Authentifizierung bei GitHub Enterprise Server über die GitHub-API oder die Befehlszeile. Benutzer generieren ein Token über die Einstellungsoption von GitHub und binden die Tokenberechtigungen an ein Repository oder eine Organisation. Wenn Benutzer mit GitHub über das git-Befehlszeilentool interagieren, können sie die Tokeninformationen eingeben, wenn sie nach ihrem Benutzernamen und Kennwort gefragt werden.
SSH-Schlüssel
Alternativ zur Verwendung von persönlichen Zugriffstoken können Benutzer mithilfe von SSH-Schlüsseln über SSH eine Verbindung mit Remoteservern und -diensten herstellen und sich bei diesen authentifizieren. Mit SSH-Schlüsseln müssen Benutzer nicht mehr bei jeder Interaktion ihren Benutzernamen und ihr persönliches Zugriffstoken angeben.
Wenn sie SSH einrichten, generieren Benutzende einen SSH-Schlüssel und fügen diesen dem SSH-Agent hinzu. Anschließend fügen sie den Schlüssel Ihrem GitHub-Konto hinzu. Mit dem Hinzufügen des SSH-Schlüssels zu ssh-agent wird sichergestellt, dass der SSH-Schlüssel über eine Passphrase als zusätzliche Sicherheitsebene verfügt. Benutzer können ihre lokale Kopie von Git konfigurieren, um die Passphrase automatisch bereitzustellen. Alternativ können sie sie bei jeder Verwendung des git-Befehlszeilentools für die Interaktion mit GitHub manuell angeben.
Sie können SSH-Schlüssel sogar für ein Repository verwenden, das sich im Besitz einer Organisation befindet, die SAML-SSO (Single Sign-On) verwendet. Wenn die Organisation SSH-Zertifikate zur Verfügung stellt, können Benutzer damit auch auf die Repositorys der Organisation zugreifen, ohne das Zertifikat ihrem GitHub-Konto hinzufügen zu müssen.
Schlüssel bereitstellen
Bereitstellungsschlüssel sind eine weitere Art von SSH-Schlüsseln in GitHub, die einem Benutzer Zugriff auf ein einzelnes Repository gewähren. GitHub fügt den öffentliche Teil des Schlüssels direkt an das Repository anstatt an ein persönliches Benutzerkonto an, und der private Teil des Schlüssels verbleibt auf dem Server des Benutzers. Bereitstellungsschlüssel sind standardmäßig schreibgeschützt, aber Sie können ihnen Schreibzugriff erteilen, wenn Sie sie einem Repository hinzufügen.
So konfigurieren Sie Die Verzweigungseinstellungen:
- Wechseln Sie zu den Einstellungen des Repositorys.
- Klicken Sie in der linken Randleiste unter "Sicherheit " auf "Schlüssel bereitstellen".
- Suchen Sie die Option " Schlüssel hinzufügen" , um einen neuen Schlüssel zu erstellen.
Hinzugefügte Sicherheitsoptionen von GitHub
GitHub bietet eine Reihe von Sicherheitsoptionen zum Schutz von Konten und Organisationsressourcen.
Zweistufige Authentifizierung
Die zweistufige Authentifizierung (2FA), manchmal auch als mehrstufige Authentifizierung (MFA) bezeichnet, fügt Ihrem GitHub-Konto eine zusätzliche Schutzebene hinzu. Bei 2FA melden sich Benutzer mit ihrem Benutzernamen und Kennwort an und stellen dann eine zweite Authentifizierungsform bereit.
GitHub unterstützt mehrere Optionen für den zweiten Faktor:
- Authentifikator-Apps (z. B. Microsoft Authenticator, Google Authenticator oder Authy), die zeitbasierte Einmalige Codes generieren.
- Hardwaresicherheitsschlüssel (z. B. YubiKey oder Titan Security Key), die FIDO2/WebAuthn unterstützen.
- Passkeys für kennwortlose, phishingsichere Authentifizierung.
- SMS-basierte Codes, die unterstützt werden, jedoch als weniger sicher als andere Optionen betrachtet werden und nicht als primäre Methode empfohlen werden.
2FA-Durchsetzung:
- Für Organisationen auf GitHub-Team und GitHub Enterprise Cloud können Organisationsbesitzer Mitglieder, externe Mitarbeiter und Abrechnungsmanager benötigen, um 2FA für ihre persönlichen Konten zu aktivieren.
- Verwaltete Benutzer (Enterprise Managed Users, EMUs) und GitHub Enterprise Server (GHE.com): Administratoren können nur 2FA für unternehmensverwaltete Konten erfordern, aber 2FA nicht für persönliche GitHub.com-Konten von Benutzern erzwingen.
Durch das Erzwingen von 2FA können Organisationen vor unbefugtem Zugriff geschützt und die Sicherheit von Repositorys und vertraulichen Daten gestärkt werden.
SAML-Einmaliges Anmelden (SSO)
Wenn Sie die Identitäten Ihrer Benutzer zentral mit einem Identitätsanbieter (IdP) verwalten, können Sie SAML Single Sign-On (SSO) konfigurieren, um die Ressourcen Ihrer Organisation auf GitHub zu schützen. SAML SSO ermöglicht Es Organisationen und Unternehmensbesitzern, den Zugriff auf Repositorys, Probleme, Pullanforderungen und vieles mehr zu steuern und zu sichern. Beim Zugriff auf Ressourcen leitet GitHub Benutzer zur Authentifizierung mit dem IdP der Organisation um.
GitHub unterstützt alle Identitätsanbieter, die den SAML 2.0-Standard implementieren, mit offizieller Unterstützung für mehrere beliebte Anbieter, darunter:
- Active Directory-Verbunddienste (AD FS).
- Microsoft Entra-ID.
- Okta.
- OneLogin.
- PingOne.
LDAP (GitHub Enterprise Server)
LDAP (Lightweight Directory Access Protocol) ist ein weit verbreitetes Protokoll für den Zugriff auf und die Verwaltung von Benutzerverzeichnisinformationen. Mithilfe der LDAP-Integration auf GitHub Enterprise Server können Sie Benutzer für Ihr vorhandenes Unternehmensverzeichnis authentifizieren und den Repositoryzugriff zentral verwalten.
GitHub Enterprise Server ist in wichtige LDAP-Dienste integriert, z. B.:
GitHub Enterprise Server kann mit beliebten LDAP-Diensten integriert werden, zum Beispiel:
- Active Directory.
- Oracle Directory Server Enterprise Edition.
- OpenLDAP.
- Öffnen Sie Das Verzeichnis.