Skip to main content

Diese Version von GitHub Enterprise wurde eingestellt am 2023-01-18. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Verwenden von LDAP

Wenn du das Lightweight Directory Access-Protokoll (LDAP) verwendest, um den Zugriff auf alle Anwendungen zu zentralisieren, kannst du GitHub Enterprise Server durch die Konfiguration der LDAP-Authentifizierung für deine Instanz integrieren.

Informationen zur LDAP-Authentifizierung für GitHub Enterprise Server

LDAP ist ein beliebtes Anwendungsprotokoll für den Zugriff auf und die Verwaltung von Verzeichnisinformationsdiensten. Zudem ist es eines der gängigsten Protokolle zur Integration von Drittanbietersoftware in große Benutzerverzeichnisse von Unternehmen. Weitere Informationen findest du unter Lightweight Directory Access Protocol auf Wikipedia.

Wenn du ein LDAP-Verzeichnis für die zentralisierte Authentifizierung verwendest, kannst du die LDAP-Authentifizierung für die Personen konfigurieren, die your GitHub Enterprise Server instance verwenden.

Wenn du die Authentifizierung für einige Personen zulassen möchtest, die kein Konto bei deinem externen Authentifizierungsanbieter haben, kannst du die Fallbackauthentifizierung für lokale Konten auf your GitHub Enterprise Server instance zulassen. Weitere Informationen findest du unter Zulassen der integrierten Authentifizierung für Benutzer*innen außerhalb deines Anbieters.

Unterstützte LDAP-Dienste

GitHub Enterprise Server lässt sich in die folgenden LDAP-Dienste integrieren:

  • Active Directory
  • FreeIPA
  • Oracle Directory Server Enterprise Edition
  • OpenLDAP
  • Open Directory
  • 389-ds

Grundlegendes für Benutzernamen bei LDAP

GitHub Enterprise Server normalisiert einen Wert deines externen Authentifizierungsanbieters, um den Benutzernamen für jedes neue persönliche Konto auf your GitHub Enterprise Server instance festzulegen. Weitere Informationen findest du unter Benutzernamenüberlegungen für die externe Authentifizierung.

Konfigurieren von LDAP mit your GitHub Enterprise Server instance

Nach der Konfiguration von LDAP können sich Benutzer*innen mit ihren LDAP-Anmeldeinformationen bei deiner Instanz anmelden. Wenn sich Benutzer erstmals anmelden, werden ihre Profilnamen, E-Mail-Adressen und SSH-Schlüssel mit den LDAP-Attributen aus deinem Verzeichnis festgelegt.

Wenn du LDAP-Zugriff für Benutzer über die Management Console konfigurierst, werden deine Benutzerlizenzen erst verwendet, sobald sich ein Benutzer bei deiner Instanz zum ersten Mal anmeldet. Wenn du jedoch ein Konto manuell in den Website-Administratoreinstellungen erstellst, wird die Benutzerlizenz sofort gezählt.

Warnung: Vergewissere dich vor dem Konfigurieren von LDAP für your GitHub Enterprise Server instance, dass der LDAP-Dienst paginierte Ergebnisse unterstützt.

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server, und klicke in der oberen rechten Ecke einer beliebigen Seite auf .

    Screenshot des Raketensymbols für den Zugriff auf Websiteadministratoreinstellungen

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

    Screenshot des Links „Websiteadministrator“ 1. Klicke auf der linken Seitenleiste auf Management Console . Registerkarte Management Console auf der linken Seitenleiste 1. Klicke in der linken Seitenleiste auf Authentifizierung. Registerkarte „Authentifizierung“ in der Seitenleiste mit den Einstellungen

  3. Wähle unter „Authentication“ (Authentifizierung) die Option LDAP aus. LDAP-Auswahl

  4. Um optional Personen ohne Konto auf deinem externen Authentifizierungssystem mit integrierter Authentifizierung dien anmelden genehmigen zu können, wähle Integrierte Authentifizierung zulassen aus. Weitere Informationen findest du unter „Zulassen der integrierten Authentifizierung für Benutzer außerhalb deines Anbieters“. Aktivierung des Kontrollkästchen für integrierte LDAP-Authentifizierung

  5. Füge die gewünschten Konfigurationseinstellungen hinzu.

LDAP-Attribute

Verwende diese Attribute, um die Konfiguration von LDAP für your GitHub Enterprise Server instance abzuschließen.

AttributnametypeBESCHREIBUNG
HostErforderlichDer LDAP-Host, z. B. ldap.example.com oder 10.0.0.30. Wenn der Hostname nur über dein internes Netzwerk verfügbar ist, musst du eventuell zuerst den DNS von your GitHub Enterprise Server instance konfigurieren, damit er den Hostnamen über deine internen Namenserver auflösen kann.
PortErforderlichDer Port, der von den LDAP-Diensten des Hosts überwacht wird. Beispiele: 389 und 636 (für LDAPS).
EncryptionErforderlichDie Verschlüsselungsmethode, die verwendet wird, um Kommunikationen zum LDAP-Server zu schützen. Dazu zählen beispielsweise Nur-Text (keine Verschlüsselung), SSL/LDAPS (von Anfang an verschlüsselt) und StartTLS (Upgrade auf verschlüsselte Kommunikation nach dem Herstellen der Verbindung).
Domain search userOptionalDer LDAP-Benutzer, der nach anderen Benutzern sucht, die sich anmelden, um die Authentifizierung zuzulassen. In der Regel handelt es sich dabei um ein Dienstkonto, das speziell für Drittanbieterintegrationen erstellt wird. Verwende einen vollqualifizierten Namen wie cn=Administrator,cn=Users,dc=Example,dc=com. Mit Active Directory kannst du auch die [DOMAIN]\[USERNAME]-Syntax (z. B. WINDOWS\Administrator) für den Benutzer der Domänensuche mit Active Directory verwenden.
Domain search passwordOptionalDas Passwort für den Benutzer der Domain-Suche.
Administrators groupOptionalBenutzerinnen in dieser Gruppe werden auf Websiteadministratorinnen hochgestuft, wenn sie sich bei deiner Appliance anmelden. Wenn du keine Gruppe für LDAP-Administratoren konfigurierst, wird das erste LDAP-Benutzerkonto, das sich bei deiner Appliance anmeldet, automatisch auf einen Websiteadministrator hochgestuft.
Domain baseErforderlichDer vollqualifizierte Distinguished Name (DN) einer LDAP-Unterstruktur, die du nach Benutzern und Gruppen durchsuchen möchtest. Du kannst beliebig viele hinzufügen. Jede Gruppe muss jedoch in derselben Domain-Basis definiert sein wie die zugehörigen Benutzer. Wenn du eingeschränkte Benutzergruppen angibst, befinden sich nur die diesen Gruppen zugehörigen Benutzer im Geltungsbereich. Zum Steuern des Zugriffs solltest du die oberste Ebene deiner LDAP-Verzeichnisstruktur als deine Domain-Basis angeben und eingeschränkte Benutzergruppen verwenden.
Restricted user groupsOptionalWenn diese Option angegeben ist, können sich nur die Benutzer dieser Gruppen anmelden. Du musst nur die allgemeinen Namen (Common Names, CNs) der Gruppen angeben. Zudem kannst du beliebig viele Gruppen hinzufügen. Sind keine Gruppen angegeben, können sich alle Benutzer im Bereich der angegebenen Domänenbasis bei deiner GitHub Enterprise Server-Instanz anmelden.
User IDErforderlichDas LDAP-Attribut, das den LDAP-Benutzer identifiziert, der versucht, sich zu authentifizieren. Nach dem Herstellen einer Zuordnung können Benutzer ihre GitHub Enterprise Server-Benutzernamen ändern. Dieses Feld sollte für die meisten Active Directory-Installationen auf sAMAccountName festgelegt sein, kann aber für andere LDAP-Lösungen wie OpenLDAP auf uid festgelegt sein. Standardwert: uid.
Profile nameOptionalDer Name, der auf der GitHub Enterprise Server-Profilseite des Benutzers angezeigt wird. Sofern die LDAP-Synchronisierung nicht aktiviert ist, können Benutzer ihre Profilnamen ändern.
EmailsOptionalDie E-Mail-Adressen für das GitHub Enterprise Server-Konto eines Benutzers.
SSH keysOptionalDie öffentlichen SSH-Schlüssel, die an das GitHub Enterprise Server-Konto eines Benutzers angehängt sind. Die Schlüssel müssen im OpenSSH-Format vorliegen.
GPG keysOptionalDie GPG-Schlüssel, die an das GitHub Enterprise Server-Konto eines Benutzers angehängt sind.
Disable LDAP authentication for Git operationsOptionalWenn ausgewählt, wird die Möglichkeit der Benutzer deaktiviert, LDAP-Kennwörter zum Authentifizieren von Git-Vorgängen zu verwenden.
Enable LDAP certificate verificationOptionalWenn ausgewählt, wird die LDAP-Zertifikatüberprüfung aktiviert.
SynchronizationOptionalWenn ausgewählt, wird die LDAP-Synchronisierung aktiviert.

Passwortauthentifizierung für Git-Vorgänge deaktivieren

Wähle in deinen LDAP-Einstellungen die Option Authentifizierung mit Benutzername und Kennwort für Git-Vorgänge deaktivieren, um die Verwendung von personal access token oder SSH-Schlüsseln für den Git-Zugriff zu erzwingen. Dies kann dazu beitragen, dass dein Server nicht durch LDAP-Authentifizierungsanforderungen überlastet wird. Diese Einstellung wird empfohlen, da ein langsam reagierender LDAP-Server, insbesondere in Kombination mit einer Vielzahl an Anforderungen (infolge des automatischen Abrufens) häufig für Leistungsprobleme und Ausfälle verantwortlich ist.

Kontrollkästchen zum Deaktivieren der LDAP-Passwortauthentifizierung für Git

Wenn ein Benutzer versucht, ein Kennwort für Git-Vorgänge über die Befehlszeile zu verwenden, wird bei Auswahl dieser Option eine Fehlermeldung mit folgendem Wortlaut angezeigt: Password authentication is not allowed for Git operations. You must use a personal access token.

LDAP-Zertifikatsverifizierung aktivieren

Wähle Enable LDAP certificate verification (LDAP-Zertifikatüberprüfung aktivieren) in den LDAP-Einstellungen aus, um das von dir verwendete LDAP-Serverzertifikat mit TLS zu überprüfen.

Feld für die LDAP-Zertifikatsverifizierung

Wenn diese Option ausgewählt ist, wird das Zertifikat validiert, um Folgendes sicherzustellen:

  • Wenn das Zertifikat mindestens einen Subject Alternative Name (SAN) enthält, stimmt einer der SANs mit dem LDAP-Hostnamen überein. Andernfalls stimmt der allgemeine Name (Common Name, CN) mit dem LDAP-Hostnamen überein.
  • Das Zertifikat ist nicht abgelaufen.
  • Das Zertifikat wurde von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert.

LDAP-Synchronisierung aktivieren

Hinweis: Teams, die LDAP-Synchronisierung verwenden, sind auf maximal 1499 Mitglieder beschränkt.

Mithilfe der LDAP-Synchronisierung kannst du GitHub Enterprise Server-Benutzer und die -Teammitgliedschaft mit deinen festgelegten LDAP-Gruppen synchronisieren. Dadurch kannst du eine rollenbasierte Zugriffskontrolle (Role-Based Access Control, RBAC) für Benutzer von deinem LDAP-Server aus einrichten, anstatt manuell innerhalb von GitHub Enterprise Server. Weitere Informationen findest du unter Erstellen von Teams.

Wähle zum Aktivieren der LDAP-Synchronisierung in den LDAP-Einstellungen die Option Synchronize Emails (E-Mails synchronisieren), Synchronize SSH Keys (SSH-Schlüssel synchronisieren) oder Synchronize GPG Keys (GPG-Schlüssel synchronisieren) aus.

Kontrollkästchen für die Synchronisierung

Nach der Aktivierung der LDAP-Synchronisierung wird ein Synchronisierungsauftrag entsprechend dem angegebenen Zeitintervall ausgeführt, um die folgenden Vorgänge in jedem Benutzerkonto durchzuführen:

  • Wenn du die integrierte Authentifizierung für Benutzer außerhalb deines Identity Providers erlaubt hast und der Benutzer die integrierte Authentifizierung verwendet, kannst du zum nächsten Benutzer wechseln.
  • Wenn für den Benutzer keine LDAP-Zuordnung vorliegt, solltest du versuchen, den Benutzer einem LDAP-Eintrag im Verzeichnis zuzuordnen. Wenn es nicht möglich ist, den Benutzer einem LDAP-Eintrag zuzuordnen, sperre den Benutzer, und wechsle zum nächsten Benutzer.
  • Wenn eine LDAP-Zuordnung vorliegt, der entsprechende LDAP-Eintrag im Verzeichnis jedoch fehlt, sperre den Benutzer, und wechsle zum nächsten Benutzer.
  • Wenn der entsprechende LDAP-Eintrag als deaktiviert markiert wurde und der Benutzer nicht bereits gesperrt ist, sperre den Benutzer, und wechsle zum nächsten Benutzer.
  • Wenn der entsprechende LDAP-Eintrag nicht als deaktiviert markiert ist, der Benutzer gesperrt ist und Reactivate suspended users (Gesperrte Benutzer erneut aktivieren) im Admin Center aktiviert ist, entsperre den Benutzer.
  • Sperre den Benutzer, wenn Benutzergruppen mit eingeschränktem Zugriff in der Instanz konfiguriert sind und sich der entsprechende LDAP-Eintrag nicht in einer dieser Gruppen befindet.
  • Entsperre den Benutzer, wenn Benutzergruppen mit eingeschränktem Zugriff in der Instanz konfiguriert sind, wenn sich der entsprechende LDAP-Eintrag in einer dieser Gruppen befindet und wenn Reactivate suspended users (Gesperrte Benutzer erneut aktivieren) im Admin Center aktiviert ist.
  • Wenn der entsprechende LDAP-Eintrag das Attribut name enthält, aktualisiere den Profilnamen des Benutzers.
  • Wenn sich der entsprechende LDAP-Eintrag in der Gruppe „Administrators“ (Administratoren) befindet, stufe den Benutzer auf einen Websiteadministrator hoch.
  • Wenn sich der entsprechende LDAP-Eintrag nicht in der Gruppe „Administrators“ (Administratoren) befindet, stufe den Benutzer auf ein normales Konto zurück.
  • Wenn das Feld „LDAP User“ (LDAP-Benutzer) für E-Mails festgelegt ist, synchronisiere die E-Mail-Einstellungen des Benutzers mit dem LDAP-Eintrag. Lege den ersten LDAP-mail-Eintrag als primäre E-Mail-Adresse fest.
  • Wenn das Feld „LDAP User“ (LDAP-Benutzer) für öffentliche SSH-Schlüssel festgelegt ist, synchronisiere die öffentlichen SSH-Schlüssel des Benutzers mit dem LDAP-Eintrag.
  • Wenn das Feld „LDAP User“ (LDAP-Benutzer) für GPG-Schlüssel festgelegt ist, synchronisiere die GPG-Schlüssel des Benutzers mit dem LDAP-Eintrag.

Hinweis: LDAP-Einträge können nur als deaktiviert gekennzeichnet werden, wenn du Active Directory verwendest und das Attribut userAccountControl vorhanden und mit ACCOUNTDISABLE gekennzeichnet ist. Einige Varianten von Active Directory, z. B. AD LDS und ADAM, unterstützen das Attribut userAccountControl nicht.

Darüber hinaus wird ein Synchronisierungsauftrag im angegebenen Zeitintervall ausgeführt, um die folgenden Aktionen für jedes Team durchzuführen, das einer LDAP-Gruppe zugeordnet wurde:

  • Wenn die entsprechende LDAP-Gruppe eines Teams entfernt wurde, entferne alle Mitglieder aus dem Team.

  • Wenn Einträge von LDAP-Mitgliedern aus der LDAP-Gruppe entfernt wurden, entferne die entsprechenden Benutzer aus dem Team. Wenn der Benutzer nicht länger Mitglied eines Teams in der Organisation und kein Organisationsbesitzer ist, entferne den Benutzer aus der Organisation. Wenn der Benutzer den Zugriff auf die Repositorys verloren hat, lösche die privaten Forks, die der Benutzer für diese Repositorys besitzt.

    Hinweis: Bei der LDAP-Synchronisierung wird ein Benutzer nicht aus einer Organisation entfernt, wenn der Benutzer ein Organisationsbesitzer ist. Stattdessen muss ein anderer Organisationsbesitzer den Benutzer manuell entfernen.

  • Wenn die LDAP-Mitgliedereinträge zur LDAP-Gruppe hinzugefügt wurden, füge die entsprechenden Benutzer dem Team hinzu. Wenn der Benutzer den Zugriff auf Repositorys zurückerlangt, solltest du die privaten Forks der Repositorys wiederherstellen, die gelöscht wurden, weil der Benutzer den Zugriff in den vergangenen 90 Tagen verloren hat.

    Im Rahmen der Optimierungskonfiguration wird LDAP Sync deine geschachtelte Teamstruktur nicht übertragen. Um unter- und übergeordnete Teambeziehungen zu erstellen, musst Du die verschachtelte Teamstruktur manuell neu erstellen und mit der entsprechenden LDAP-Gruppe synchronisieren. Weitere Informationen findest du unter Erstellen von Teams.

Sicherheitswarnung:

Wenn die LDAP-Synchronisierung aktiviert ist, können Websiteadministratoren und Organisationsinhaber das LDAP-Verzeichnis nach Gruppen durchsuchen, um sie dem Team zuzuordnen.

Dadurch können sensible Organisationsinformationen potenziell Vertragsnehmern oder anderen nicht privilegierten Benutzern offengelegt werden, darunter

  • die Verfügbarkeit von spezifischen LDAP-Gruppen, die für den Benutzer der Domänensuche sichtbar sind,
  • Mitglieder der LDAP-Gruppe, die über GitHub Enterprise Server-Benutzerkonten verfügen, die beim Erstellen eines Teams offengelegt werden, das mit dieser LDAP-Gruppe synchronisiert ist.

Wenn die Offenlegung solcher Informationen nicht gewünscht wird, sollte dein Unternehmen oder deine Organisation in der Administratorkonsole die Berechtigungen des konfigurierten Benutzers der Domänensuche einschränken. Ist eine solche Einschränkung nicht möglich, wende dich an GitHub Enterprise Support.

Unterstützte LDAP-Gruppenobjektklassen

GitHub Enterprise Server unterstützt die folgenden LDAP-Gruppenobjektklassen. Gruppen können verschachtelt werden.

  • group
  • groupOfNames
  • groupOfUniqueNames
  • posixGroup

LDAP-Benutzer anzeigen und erstellen

Du kannst die vollständige Liste der LDAP-Benutzer anzeigen, die Zugriff auf deine Instanz besitzen, und neue Benutzer bereitstellen.

  1. Melde dich unter http(s)://HOSTNAME/login bei your GitHub Enterprise Server instance an. 1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server, und klicke in der oberen rechten Ecke einer beliebigen Seite auf .

    Screenshot des Raketensymbols für den Zugriff auf Websiteadministratoreinstellungen

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

    Screenshot des Links „Websiteadministrator“

  3. Klicke auf der linken Randleiste auf LDAP users (LDAP-Benutzer). Registerkarte „LDAP users“ (LDAP-Benutzer)

  4. Gib zum Suchen nach einem Benutzer einen vollständigen oder einen Teil von einem Benutzernamen ein, und klicke auf Search (Suchen). Die vorhandenen Benutzer werden in den Suchergebnissen angezeigt. Wenn ein Benutzer nicht vorhanden ist, klicke auf Create (Erstellen), um das neue Benutzerkonto bereitzustellen. LDAP-Suche

LDAP-Konten aktualisieren

Nur wenn die LDAP-Synchronisierung aktiviert ist, werden Änderungen an LDAP-Konten automatisch mit GitHub Enterprise Server synchronisiert.

LDAP-Konten manuell synchronisieren

  1. Melde dich unter http(s)://HOSTNAME/login bei your GitHub Enterprise Server instance an. 1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server, und klicke in der oberen rechten Ecke einer beliebigen Seite auf .

    Screenshot des Raketensymbols für den Zugriff auf Websiteadministratoreinstellungen

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

    Screenshot des Links „Websiteadministrator“ 1. Gib im Suchfeld den Namen des Benutzers ein, und klicke auf Suchen. Suchfeld für die Websiteadministratoreinstellungen 1. Klicke in den Suchergebnissen auf den Namen des Benutzers. Suchoptionen für Websiteadministratoreinstellungen 1. Klicke in der oberen rechten Ecke der Seite auf Administrator. Administratortools 1. Klicke auf der linken Randleiste auf Verwaltung. Verwaltungstools

  3. Klicke unter „LDAP“ auf Sync now (Jetzt synchronisieren), um das Konto manuell mit Daten aus deinem LDAP-Server zu aktualisieren. Schaltfläche „Sync now“ (Jetzt synchronisieren) für LDAP

Du kannst auch die API verwenden, um eine manuelle Synchronisierung auszulösen.

Widerrufen des Zugriffs auf your GitHub Enterprise Server instance

Wenn die LDAP-Synchronisierung aktiviert ist, wird durch das Entfernen der LDAP-Anmeldeinformationen eines Benutzers das Konto des Benutzers nach der nächsten Synchronisierungsausführung gesperrt.

Bei nicht aktivierter LDAP-Synchronisierung musst du das GitHub Enterprise Server-Konto nach dem Entfernen der LDAP-Anmeldeinformationen manuell sperren. Weitere Informationen findest du unter Sperren und Entsperren von Benutzern.