Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen finden Sie in unserer englischsprachigen Dokumentation.

Diese Version von GitHub Enterprise wird eingestellt am Diese Version von GitHub Enterprise wurde eingestellt am 2020-01-22. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nehmen Sie ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wenden Sie sich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

LDAP verwenden

Mithilfe von LDAP können Sie GitHub Enterprise Server bei Ihren vorhandenen Konten authentifizieren und den Zugriff auf Repositorys zentral verwalten. 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.

Inhalt dieses Artikels

If you want to authenticate users without adding them to your identity provider, you can configure built-in authentication. Weitere Informationen finden Sie unter „Integrierte Authentifizierung für Benutzer außerhalb Ihres Identity Providers zulassen“.

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-Benutzernamen dürfen nur alphanumerische Zeichen und Bindestriche (-) enthalten. GitHub Enterprise Server normalisiert nicht alphanumerische Zeichen im Benutzernamen Ihres Kontos zu einem Bindestrich. Beispielsweise wird der Benutzername gregory.st.john zu gregory-st-john normalisiert. Beachten Sie, dass die normalisierten Benutzernamen weder mit einem Bindestrich beginnen noch darauf enden können. Darüber hinaus können sie nicht zwei aufeinanderfolgende Bindestriche enthalten.

Anhand von E-Mail-Adressen erstellte Benutzernamen werden anhand der normalisierten Zeichen erstellt, die dem Zeichen @ vorangehen.

Wenn mehrere Konten zum selben GitHub Enterprise Server-Benutzernamen normalisiert werden, wird nur das erste Benutzerkonto erstellt. Nachfolgende Benutzer mit demselben Benutzernamen können sich nicht anmelden.

In dieser Tabelle finden Sie Beispiele dafür, wie Benutzernamen in GitHub Enterprise Server normalisiert werden:

Benutzername Normalisierter Benutzername Ergebnis
Ms.Bubbles ms-bubbles Dieser Benutzername wird erfolgreich erstellt.
!Ms.Bubbles -ms-bubbles Dieser Benutzername wird nicht erstellt, da er mit einem Bindestrich beginnt.
Ms.Bubbles! ms-bubbles- Dieser Benutzername wird nicht erstellt, da er mit einem Bindestrich endet.
Ms!!Bubbles ms--bubbles Dieser Benutzername wird nicht erstellt, da er zwei aufeinanderfolgende Bindestriche enthält.
Ms!Bubbles ms-bubbles Dieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
Ms.Bubbles@example.com ms-bubbles Dieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.

Zwei-Faktor-Authentifizierung

When using LDAP or built-in authentication, two-factor authentication is supported. Organisationsadministratoren können festlegen, dass Mitglieder die Zwei-Faktor-Authentifizierung aktivieren müssen.

LDAP für Ihre GitHub Enterprise Server-Instanz konfigurieren

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

Wenn Sie den LDAP-Zugriff über die Managementkonsole konfigurieren, werden Ihre Benutzer erst bei der ersten Anmeldung eines Benutzers bei Ihrer Instanz verwendet. Wenn Sie ein Konto jedoch manuell in den Einstellungen des Websiteadministrators erstellen, wird die Anzahl der verfügbaren Benutzer sofort erfasst.

Warnung: Stellen Sie sicher, dass Ihr LDAP-Dienst seitenweise Ergebnisse unterstützt, bevor Sie LDAP auf Ihre GitHub Enterprise Server-Instanz konfigurieren.

  1. Klicken Sie in der oberen rechten Ecke einer beliebigen Seite auf .

    Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators

  2. Klicken Sie auf der linken Seitenleiste auf Managementkonsole.

    Managementkonsole tab in the left sidebar

  3. Klicken Sie auf der linken Seitenleiste auf Authentication (Authentifizierung).

    Registerkarte „Authentication“ (Authentifizierung) auf der Seitenleiste mit den Einstellungen

  4. Wählen Sie LDAP unter „Authentication“ (Authentifizierung) aus.

    LDAP-Auswahl

  5. Optionally, select Allow built-in authentication to invite users to use built-in authentication if they don’t belong to Ihre GitHub Enterprise Server-Instanz's identity provider.

    Aktivierung des Kontrollkästchen für integrierte LDAP-Authentifizierung

  6. Fügen Sie die gewünschten Konfigurationseinstellungen hinzu.

LDAP-Attribute

Verwenden Sie die folgenden Attribute, um die Konfiguration von LDAP für Ihre GitHub Enterprise Server-Instanz abzuschließen.

Attributname Typ Beschreibung
Host Erforderlich Der LDAP-Host, z. B. ldap.example.com oder 10.0.0.30. Wenn der Hostnamen nur in Ihrem internen Netzwerk verfügbar ist, müssen Sie möglicherweise zunächst den DNS von Ihre GitHub Enterprise Server-Instanz konfigurieren, damit der Hostname mithilfe Ihrer internen Nameserver aufgelöst werden kann.
Port Required Der Port, der von den LDAP-Diensten des Hosts überwacht wird. Beispiele: 389 und 636 (für LDAPS).
Encryption Erforderlich Die 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 user Optional Der LDAP-Benutzer, der Benutzernachschlagevorgänge durchführt, um andere Benutzer bei ihrer Anmeldung zu authentifizieren. In der Regel handelt es sich dabei um ein Dienstkonto, das speziell für Drittanbieterintegrationen erstellt wird. Verwenden Sie einen vollqualifizierten Namen, beispielsweise cn=Administrator,cn=Users,dc=Example,dc=com. Mit Active Directory können Sie zudem die Syntax [DOMAIN]\[USERNAME] (z. B. WINDOWS\Administrator) für den Benutzer der Domain-Suche mit Active Directory verwenden.
Domain search password Optional Das Passwort für den Benutzer der Domain-Suche.
Administrators group Optional Benutzer in dieser Gruppe werden auf Websiteadministratoren hochgestuft, wenn sie sich bei Ihrer Appliance anmelden. Wenn Sie keine Gruppe für LDAP-Administratoren konfigurieren, wird das erste LDAP-Benutzerkonto, das sich bei Ihrer Appliance anmeldet, automatisch auf einen Websiteadministrator hochgestuft.
Domain base Erforderlich Der vollqualifizierte Distinguished Name (DN) einer LDAP-Unterstruktur, die auf Benutzer und Gruppen durchsucht werden soll. Sie können beliebig viele hinzufügen. Jede Gruppe muss jedoch in derselben Domain-Basis definiert sein wie die zugehörigen Benutzer. Wenn Sie eingeschränkte Benutzergruppen angeben, befinden sich nur die diesen Gruppen zugehörigen Benutzer im Geltungsbereich. Zum Steuern des Zugriffs sollten Sie die oberste Ebene Ihrer LDAP-Verzeichnisstruktur als Ihre Domain-Basis angeben und eingeschränkte Benutzergruppen verwenden.
Restricted user groups Optional Wenn diese Option angegeben ist, können sich nur die Benutzer dieser Gruppen anmelden. Sie müssen nur die allgemeinen Namen (Common Names, CNs) der Gruppen angeben. Zudem können Sie beliebig viele Gruppen hinzufügen. Sind keine Gruppen angegeben, können sich alle Benutzer im Geltungsbereich der angegebenen Domain-Basis bei Ihrer GitHub Enterprise Server-Instanz anmelden.
User ID Erforderlich Das 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 sAMAccountName lauten. Für andere LDAP-Lösungen wie OpenLDAP lautet es ggf. uid. Der Standardwert lautet uid.
Profilname Optional Der 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.
Emails Optional Die E-Mail-Adressen für das GitHub Enterprise Server-Konto eines Benutzers.
SSH keys Optional Die ö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 keys Optional Die GPG-Schlüssel, die an das GitHub Enterprise Server-Konto eines Benutzers angehängt sind.
Disable LDAP authentication for Git operations Optional Wenn diese Option ausgewählt ist, wird die Möglichkeit der Benutzer deaktiviert, LDAP-Passwörter zur Authentifizierung von Git-Vorgängen zu verwenden.
Enable LDAP certificate verification Optional Wenn diese Option ausgewählt ist, wird die LDAP-Zertifikatsverifizierung aktiviert.
Synchronization Optional Wenn diese Option ausgewählt ist, wird die LDAP-Synchronisierung aktiviert.

Passwortauthentifizierung für Git-Vorgänge deaktivieren

Aktivieren Sie Disable username and password authentication for Git operations (Authentifizierung mittels Benutzername und Passwort für Git-Vorgänge deaktivieren) in Ihren LDAP-Einstellungen, um die Verwendung von persönlichen Zugriffstoken oder SSH-Schlüsseln für den Git-Zugriff zu erzwingen, wodurch verhindert werden kann, dass Ihr Server von LDAP-Authentifizierungsanforderungen überladen 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 bei Auswahl dieser Option versucht, ein Passwort für Git-Vorgänge an der Befehlszeile zu verwenden, wird die Fehlermeldung Password authentication is not allowed for Git operations. You must use a personal access token angezeigt.

LDAP-Zertifikatsverifizierung aktivieren

Wählen Sie Enable LDAP certificate verification (LDAP-Zertifikatsverifizierung aktivieren) in Ihren LDAP-Einstellungen aus, um das von Ihnen verwendete LDAP-Serverzertifikat mit TLS zu validieren.

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

Mithilfe der LDAP-Synchronisierung können Sie GitHub Enterprise Server-Benutzer und die -Teammitgliedschaft mit Ihren festgelegten LDAP-Gruppen synchronisieren. Dadurch können Sie eine rollenbasierte Zugriffskontrolle (Role-Based Access Control, RBAC) für Benutzer von Ihrem LDAP-Server aus einrichten, anstatt manuell innerhalb von GitHub Enterprise Server. Weitere Informationen finden Sie unter „Teams erstellen“.

Wählen Sie Synchronize Emails (E-Mails synchronisieren), Synchronize SSH Keys (SSH-Schlüssel synchronisieren) oder Synchronize GPG Keys (GPG-Schlüssel synchronisieren) aus, um die LDAP-Synchronisierung zu aktivieren.

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 Sie die integrierte Authentifizierung für Benutzer außerhalb Ihres Identity Providers erlaubt haben und der Benutzer die integrierte Authentifizierung verwendet, können Sie zum nächsten Benutzer wechseln.
  • Wenn für den Benutzer keine LDAP-Zuordnung vorliegt, sollten Sie versuchen, den Benutzer einem LDAP-Eintrag im Verzeichnis zuzuordnen. Wenn es nicht möglich ist, den Benutzer einem LDAP-Eintrag zuzuordnen, sperren Sie den Benutzer, und wechseln Sie zum nächsten Benutzer.
  • Wenn eine LDAP-Zuordnung vorliegt, der entsprechende LDAP-Eintrag im Verzeichnis jedoch fehlt, sperren Sie den Benutzer, und wechseln Sie zum nächsten Benutzer.
  • Wenn der entsprechende LDAP-Eintrag als deaktiviert markiert wurde und der Benutzer nicht bereits gesperrt ist, sperren Sie den Benutzer, und wechseln Sie 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, entsperren Sie den Benutzer.
  • Wenn der entsprechende LDAP-Eintrag das Attribut name enthält, aktualisieren Sie den Profilnamen des Benutzers.
  • Wenn sich der entsprechende LDAP-Eintrag in der Gruppe „Administrators“ (Administratoren) befindet, stufen Sie den Benutzer auf einen Websiteadministrator hoch.
  • Wenn sich der entsprechende LDAP-Eintrag nicht in der Gruppe „Administrators“ (Administratoren) befindet, stufen Sie den Benutzer auf ein normales Konto zurück.
  • Wenn das Feld „LDAP User“ (LDAP-Benutzer) für E-Mails festgelegt ist, synchronisieren Sie die E-Mail-Einstellungen des Benutzers mit dem LDAP-Eintrag. Legen Sie den ersten LDAP-Eintrag vom Typ mail als die primäre E-Mail fest.
  • Wenn das Feld „LDAP User“ (LDAP-Benutzer) für öffentliche SSH-Schlüssel festgelegt ist, synchronisieren Sie 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, synchronisieren Sie die GPG-Schlüssel des Benutzers mit dem LDAP-Eintrag.

Hinweis: LDAP-Einträge können nur dann als deaktiviert markiert werden, wenn Sie Active Directory verwenden und das Attribut userAccountControl vorhanden und mit ACCOUNTDISABLE gekennzeichnet ist.

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, entfernen Sie alle Mitglieder aus dem Team.
  • Wenn Einträge von LDAP-Mitgliedern aus der LDAP-Gruppe entfernt wurden, entfernen Sie die entsprechenden Benutzer aus dem Team. Wenn der Benutzer den Zugriff auf die Repositorys verloren hat, löschen Sie die privaten Forks, die der Benutzer für diese Repositorys besitzt.
  • Wenn die LDAP-Mitgliedereinträge zur LDAP-Gruppe hinzugefügt wurden, fügen Sie die entsprechenden Benutzer dem Team hinzu. Wenn der Benutzer den Zugriff auf Repositorys zurückerlangt, sollten Sie die privaten Forks der Repositorys wiederherstellen, die gelöscht wurden, weil der Benutzer den Zugriff in den vergangenen 90 Tagen verloren hat.

As part of its optimization configuration, LDAP Sync will not transfer your nested team structure. To create child and parent team relationships, you must manually recreate the nested team structure and sync it with the corresponding LDAP group. For more information, see "Creating 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 Domain-Suche 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 Ihr Unternehmen oder Ihre Organisation in der Administratorkonsole die Berechtigungen des konfigurierten Benutzers der Domain-Suche einschränken. Ist eine solche Einschränkung nicht möglich, wenden Sie sich an GitHub Enterprise-Support oder GitHub Premium-Support.

Unterstützte LDAP-Gruppenobjektklassen

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

  • Gruppe
  • groupOfNames
  • groupOfUniqueNames
  • posixGroup

LDAP-Benutzer anzeigen und erstellen

Sie können die vollständige Liste der LDAP-Benutzer anzeigen, die Zugriff auf Ihre Instanz besitzen, und neue Benutzer bereitstellen.

  1. Sign in to Ihre GitHub Enterprise Server-Instanz at http(s)://HOSTNAME/login.

  2. Klicken Sie in der oberen rechten Ecke einer beliebigen Seite auf .

    Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators

  3. Klicken Sie auf der linken Seitenleiste auf LDAP users (LDAP-Benutzer).

    Registerkarte „LDAP users“ (LDAP-Benutzer)

  4. Geben Sie bei der Suche nach einem Benutzer einen vollständigen oder den Teil eines Benutzernamens ein, und klicken Sie auf Search (Suchen). Die vorhandenen Benutzer werden in den Suchergebnissen angezeigt. Wenn ein Benutzer nicht vorhanden ist, klicken Sie auf Create (Erstellen), um das neue Benutzerkonto bereitzustellen.

    LDAP-Suche

LDAP-Konten aktualisieren

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

LDAP-Konten manuell synchronisieren

  1. Sign in to Ihre GitHub Enterprise Server-Instanz at http(s)://HOSTNAME/login.

  2. Klicken Sie in der oberen rechten Ecke einer beliebigen Seite auf .

    Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators

  3. In the search field, type the name of the user and click Search.

    Suchfeld für die Einstellungen des Websiteadministrators

  4. In the search results, click the name of the user.

    Site admin settings search options

  5. Klicken Sie in der oberen rechte Ecke der Seite auf Admin.

    Verwaltungswerkzeuge

  6. Klicken Sie auf der linken Seitenleiste auf Admin.

    Verwaltungswerkzeuge

  7. Klicken Sie unter „LDAP“ auf Sync now (Jetzt synchronisieren), um das Konto mit den Daten Ihres LDAP-Servers manuell zu aktualisieren.

    Schaltfläche „Sync now“ (Jetzt synchronisieren) für LDAP

Darüber hinaus können Sie die API verwenden, um eine manuelle Synchronisierung auszulösen.

Zugriff auf Ihre GitHub Enterprise Server-Instanz widerrufen

Bei aktivierter LDAP-Synchronisierung wird beim Entfernen der LDAP-Anmeldeinformationen eines Benutzers dessen Konto nach der nächsten Synchronisierungsausführung gesperrt.

Bei nicht aktivierter LDAP-Synchronisierung müssen Sie das GitHub Enterprise Server-Konto nach dem Entfernen der LDAP-Anmeldeinformationen manuell sperren. Weitere Informationen finden Sie unter „Benutzer sperren und entsperren“.

Menschliche Unterstützung einholen

Sie können das Gesuchte nicht finden?

Kontakt