4. LDAP-Clients mit Secure LDAP verbinden

Folgen Sie der Anleitung in diesem Artikel, um Ihren LDAP-Client mit dem Secure LDAP-Dienst zu verbinden.

Wichtig:

  • Dokumentation des Anbieters
    Die Angaben in diesem Artikel dienen nur als Referenz und können sich ändern. Zusätzlich zu dieser Hilfe sollten Sie die Dokumentation Ihres Anbieters lesen, um die aktuellsten Schritte zum Verbinden Ihres Clients mit dem Secure LDAP-Dienst zu erhalten.
  • Vorbereitung
    Bevor Sie diese Anleitung verwenden, müssen Sie den Client dem Secure LDAP-Dienst hinzufügen, Zugriffsberechtigungen konfigurieren, ein Clientzertifikat und einen Schlüssel herunterladen und optional Zugangsdaten erstellen.
  • Verbindung testen
     Optional können Sie vor Beginn dieser Schritte einen schnellen Verbindungstest mit einfachen Tools wie ldapsearch, ADSI und ldp.exe durchführen. Die Tools eignen sich auch zur Behebung von Fehlern, die unter Umständen beim Verbinden Ihres LDAP-Clients mit Secure LDAP auftreten. Eine Anleitung finden Sie unter Verbindung testen und Fehler beheben.
  • Einrichtungsschritte ausführen
    Nachdem Sie den LDAP-Client gemäß der Anleitung auf dieser Seite verbunden haben, müssen Sie die Einrichtung des LDAP-Clients abschließen, indem Sie den Dienststatus in der Google Admin-Konsole auf Ein setzen. Eine Anleitung dazu findest du unter 5. Stellen Sie LDAP-Clients auf Ein um.

Inhalt

Dieser Artikel enthält die folgenden Abschnitte:

Bei dieser Anleitung wird davon ausgegangen, dass die heruntergeladenen Client-Schlüssel- und Zertifikatsdateien ldap-client.key und ldap-client.crt heißen.

Grundlegende Konfigurationsanleitung

Dieser Abschnitt enthält eine allgemeine Anleitung zum Verbinden Ihres LDAP-Clients mit dem Secure LDAP-Dienst. Wenn Ihr LDAP-Client in der Anleitung unten nicht aufgeführt ist, sehen Sie in der Dokumentation der jeweiligen Anwendung nach.

Hinweis:Bei bestimmten LDAP-Clients wie Atlassian Jira und SSSD wird während der Nutzerauthentifizierung eine Nutzersuche durchgeführt, um weitere Informationen zu einem Nutzer zu erhalten. Damit die Nutzerauthentifizierung für solche LDAP-Clients richtig funktioniert, müssen Sie Nutzerinformationen lesen für alle Organisationseinheiten aktivieren, in denen Nutzeranmeldedaten bestätigen aktiviert ist. Eine Anleitung finden Sie unter Zugriffsberechtigungen konfigurieren.

So verbinden Sie den LDAP-Client mit dem Secure LDAP-Dienst:

  1. Konfigurieren Sie Ihren LDAP-Client mit Cloud Directory als LDAP-Server.
  2. Laden Sie das Zertifikat auf Ihren LDAP-Client hoch.

    Der Secure LDAP-Dienst verwendet TLS-Clientzertifikate als primären Authentifizierungsmechanismus. Um das Zertifikat in den LDAP-Client hochzuladen, öffnen Sie die Authentifizierungs- oder Verzeichniseinstellungen des LDAP-Clients und geben Sie die Details aus der Tabelle unten ein.

    Hinweis:Ausführliche Informationen dazu, wie und wo Sie TLS-Zertifikate hochladen, finden Sie in der Dokumentation Ihres Anbieters.

In der folgenden Tabelle finden Sie grundlegende Verbindungsinformationen:

Hostname

ldap.google.com

Ports

389 bei LDAP mit aktiviertem StartTLS
636 bei LDAPS (SSL/TLS aktiviert)

Base DN (Basis-DN)

Ihre Domain im DN-Format (Distinguished Name). Beispiel:

dc=beispiel,dc=de für beispiel.de

Nutzername und Passwort

Bei manchen LDAP-Clients benötigen Sie für die Authentifizierung nicht nur ein Zertifikat, sondern auch einen Nutzernamen und ein Passwort. Wenn "Nutzername" und "Passwort" keine Pflichtfelder sind, können Sie diesen Schritt überspringen.

Erstellen Sie in der Google Admin-Konsole einen Nutzernamen und ein Passwort. Weitere Informationen

Clientzertifikat und Schlüsseldateien

Verwenden Sie das Zertifikat und die Schlüsseldatei, die Sie aus der Google Admin-Konsole heruntergeladen haben. Wenn der LDAP-Client keine Möglichkeit zur Authentifizierung mit einem Clientzertifikat bietet, lesen Sie den Abschnitt stunnel als Proxy verwenden.

WICHTIG:Einige LDAP-Clients, z. B. Apache Directory Studio, unterstützen das Hochladen digitaler Zertifikate nicht. Sie können dieses Problem umgehen, indem Sie Stunnel als Proxy verwenden.

Konfigurationsanleitungen für bestimmte LDAP-Clients

ADSI Edit (Windows)

Gehen Sie so vor:

  1. Folgen Sie der Anleitung unter ldp.exe (Windows), um die Clientzertifikate zu installieren.
  2. Gehen Sie zu Action > Connect to… (Aktion > Verbinden mit…).
  3. Geben Sie die folgenden Verbindungseinstellungen ein:

    Name:Geben Sie einen Namen für die Verbindung ein, z. B. Google LDAP.
    Verbindungspunkt: „Wählen Sie einen Distinguished Name oder Naming Context aus oder geben Sie ihn ein.“
    Geben Sie Ihren Domainnamen im DN-Format ein, z. B. dc=beispiel,dc=de für beispiel.de.

    Computer (Computer): „Select or type a domain or server“ (Domain oder Server auswählen oder eingeben)
    ldap.google.com

    Use SSL-based Encryption (SSL-basierte Verschlüsselung verwenden): Aktiviert
  4. Klicken Sie auf Erweitert… und geben Sie die folgenden Details ein:

    Anmeldedaten angeben:Aktiviert
    Nutzername:Der Nutzername der Zugangsdaten aus der Admin-Konsole
    Passwort:Das Passwort der Zugangsdaten aus der Admin-Konsole
    Portnummer:636
    Protokoll:LDAP
    Einfache Bindungsauthentifizierung:Aktiviert
  5. Klicken Sie auf OK und dann noch einmal auf OK.
  6. Wenn die Verbindung hergestellt wurde, werden die im Basis-DN vorhandenen Inhalte des aktiven Verzeichnisses rechts im Fenster angezeigt.

Apache Directory Studio

Wenn Sie Apache Directory Studio verwenden möchten, stellen Sie eine Verbindung über Stunnel her und verwenden Sie Anmeldedaten (Nutzername und Passwort), die in der Admin-Konsole generiert wurden. Wenn die Anmeldedaten vorhanden sind und stunnel auf dem localhost-Port 1389 überwacht wird, führen Sie die folgenden Schritte aus:

  1. Klicken Sie auf File > New… (Datei > Neu…).
  2. Wählen Sie LDAP Browser > LDAP Connection (LDAP-Browser > LDAP-Verbindung) aus.
  3. Klicken Sie auf Weiter.
  4. Geben Sie die Verbindungsparameter ein:

    Verbindungsname:Wählen Sie einen Namen aus, z. B. Google LDAP.
    Hostname:localhost
    Port:1389 (oder der stunnel-Listen-/Accept-Port)
    Verschlüsselungsmethode:Keine Verschlüsselung (Hinweis: Wenn stunnel remote ausgeführt wird, wird die Verschlüsselung zwischen stunnel und dem Client empfohlen.)
  5. Klicken Sie auf Weiter.
  6. Geben Sie die Authentifizierungsparameter ein:

    Authentifizierungsmethode:Einfache Authentifizierung
    Bind-DN oder Nutzer:Der Nutzername der Anmeldedaten aus der Admin-Konsole
    Bind-Passwort:Das Passwort der Anmeldedaten aus der Admin-Konsole
  7. Klicken Sie auf Weiter.
  8. Geben Sie den Basis-DN ein.
    Dies ist Ihr Domainname im DN-Format (dc=beispiel,dc=de für beispiel.de).
  9. Klicken Sie auf Beenden.

Atlassian Jira

Atlassian Jira führt während der Nutzerauthentifizierung eine Nutzersuche durch, um weitere Informationen zu einem Nutzer zu erhalten. Damit die Nutzerauthentifizierung für diesen LDAP-Client richtig funktioniert, müssen Sie Nutzerinformationen lesen und Gruppeninformationen lesen für alle Organisationseinheiten aktivieren, in denen Nutzeranmeldedaten bestätigen aktiviert ist. Weitere Informationen

Wichtig: Wenn Sie dieser Anleitung folgen, besteht die Gefahr, dass das keyStorePassword für Nutzer und Protokolldateien preisgegeben wird. Treffen Sie Vorkehrungen, um unbefugten Zugriff auf die lokale Shell, das Logfile und die Admin-Konsole zu verhindern. Alternativ zur folgenden Anleitung können Sie die stunnel4-Methode verwenden (siehe Optional: stunnel als Proxy verwenden).

Hinweis:In der folgenden Anleitung wird davon ausgegangen, dass Jira unter /opt/atlassian/jira installiert ist.

So verbinden Sie einen Atlassian Jira-Client mit dem Secure LDAP-Dienst:

  1. Kopieren Sie das Zertifikat und den Schlüssel auf Ihren Jira-Server. (Dies ist das Zertifikat, das in der Admin-Konsole generiert wird, wenn Sie den LDAP-Client dem Secure LDAP-Dienst hinzufügen.)

    Beispiel:
    $ scp ldap-client.key user@jira-server:
  2. Konvertieren Sie das Zertifikat und die Schlüssel in das Schlüsselspeicher-Format von Java. Sie werden während des Vorgangs mehrfach nach Passwörtern gefragt. Der Einfachheit halber sollten Sie ein sicheres Passwort auswählen und es bei allen Eingabeaufforderungen wiederverwenden.

    $ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key

    $ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS

  3. Konfigurieren Sie Jira so, dass der neu erstellte Schlüsselspeicher verwendet wird. Folgen Sie der Anleitung, um Optionen hinzuzufügen:

    "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password"

    Unter Linux:
    1. Bearbeiten Sie /opt/atlassian/jira/bin/setenv.sh.
    2. Suchen Sie die Einstellung „JVM_SUPPORT_RECOMMENDED_ARGS“.
    3. Fügen Sie „-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password“ hinzu und ersetzen Sie „password“ durch das oben ausgewählte Passwort.
  4. Starten Sie Jira neu.

    $ /opt/atlassian/jira/bin/stop-jira.sh
    $ /opt/atlassian/jira/bin/start-jira.sh

  5. Melden Sie sich als Administrator in der Weboberfläche von Jira an.
    1. Gehen Sie zu Einstellungen > Nutzerverwaltung. Die Einstellungen erreichen Sie über das Zahnradsymbol rechts oben.
    2. Klicken Sie auf User Directories (Nutzerverzeichnisse).
    3. Klicken Sie auf Verzeichnis hinzufügen.
    4. Wählen Sie LDAP als Typ aus.
    5. Klicken Sie auf Weiter.
  6. Geben Sie Folgendes ein:

    Name

    Google Secure LDAP

    Directory Type (Verzeichnistyp)

    OpenLDAP

    Hostname

    ldap.google.com

    Port

    636

    Use SSL (SSL verwenden)

    Aktiviert

    Nutzername

    Erstellen Sie in der Google Admin-Konsole einen Nutzernamen und ein Passwort. Weitere Informationen

    Passwort

    Erstellen Sie in der Google Admin-Konsole einen Nutzernamen und ein Passwort. Eine Anleitung hierfür finden Sie unter Anmeldedaten generieren.

    Base DN (Basis-DN)

    Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für beispiel.de

    Additional User DN (Zusätzlicher Nutzer-DN)

    Optional. "ou=Users"

    Additional Group DN (Zusätzlicher Gruppen-DN)

    Optional. „ou=Groups“

    LDAP Permissions (LDAP-Berechtigungen)

    Schreibgeschützt

    Advanced Settings (Erweiterte Einstellungen)

    Nicht geändert

    User Schema Settings (Einstellungen für das Nutzerschema) >
    User Name Attribute (Attribut des Nutzernamens)

    googleUid

    User Schema Settings (Einstellungen für das Nutzerschema) >
    User Name RDN Attribute (RDN-Attribut des Nutzernamens)

    uid

    Group Schema Settings (Einstellungen für das Gruppenschema) >
    Group Object Class (Objektklasse der Gruppe)

    groupOfNames

    Group Schema Settings (Einstellungen für das Gruppenschema) >
    Group Object Class (Objektfilter der Gruppe)

    (objectClass=groupOfNames)

    Membership Schema Settings (Einstellungen für das Mitgliedschaftsschema) >
    Group Members Attribute (Attribut der Gruppenmitglieder)

    member

    Membership Schema Settings (Einstellungen für das Mitgliedschaftsschema) >
    Use the User Membership Attribute (Attribut der Nutzermitgliedschaft verwenden)

    Aktiviert
  7. Weisen Sie einer Gruppe eine Rolle zu:

    Bevor Atlassian Jira einem Nutzer die Anmeldung erlauben kann, muss dieser Nutzer Mitglied einer Gruppe sein, die Zugriff auf Jira hat.

    So weisen Sie einer Gruppe eine Rolle zu:
    1. Öffnen Sie Settings > Applications > Application access (Einstellungen > Anwendungen > Anwendungszugriff).
    2. Geben Sie im Textfeld Gruppe auswählen den Namen der Google-Gruppe ein, für die Sie den Zugriff auf Jira gewähren möchten.

CloudBees Core/Jenkins

Eine Anleitung zum Verbinden von CloudBees Core mit Secure LDAP finden Sie auf der englischsprachigen Seite Configure CloudBees Core with Google's Cloud Identity Secure LDAP (CloudBees Core mithilfe von Google Cloud Identity Secure LDAP konfigurieren).

FreeRADIUS

Gehen Sie so vor:

  1. Installieren und konfigurieren Sie FreeRADIUS unter /etc/freeradius/3.0/.

    Wenn FreeRADIUS installiert ist, können Sie die LDAP-Konfiguration hinzufügen. Dazu brauchen Sie das Plug-in freeradius-ldap.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Kopieren Sie die Schlüssel- und Zertifikatsdateien des LDAP-Clients in die Verzeichnisse /etc/freeradius/3.0/certs/ldap-client.key bzw. /etc/freeradius/3.0/certs/ldap-client.crt.

    $ chown freeradius:freeradius
    /etc/freeradius/3.0/certs/ldap-client.*
    $ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*

  3. Aktivieren Sie das LDAP-Modul.

    $ cd /etc/freeradius/3.0/mods-enabled/
    $ ln -s ../mods-available/ldap ldap

  4. Bearbeiten Sie /etc/freeradius/3.0/mods-available/ldap.
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identity = Nutzername aus den Anmeldedaten für die Anwendung
    3. password = Passwort aus den Anmeldedaten für die Anwendung
    4. base_dn = 'dc=domain,dc=com'
    5. tls->start_tls = no
    6. tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
    7. tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
    8. tls->require_cert = 'allow'
    9. Kommentieren Sie alle Felder im Breadcrumb-Pfad aus, die den Abschnitt „ldap“ –> „post-auth“ –> „update“ darstellen.
  5. Bearbeiten Sie /etc/freeradius/3.0/sites-available/default.
    Dadurch wird die Verbindung des FreeRadius-Clients geändert. Wenn Sie nicht den Standardclient verwenden, müssen Sie den entsprechenden Client (Inner-Tunnel oder einen benutzerdefinierten Client) aktualisieren, den Sie konfiguriert haben.
    1. Ändern Sie den Abschnitt authorize, um den folgenden Block unten nach der PAP-Anweisung (Password Authentication Protocol) hinzuzufügen:

      if (User-Password) {
      update control {
      Auth-Type := ldap
      }
      }

    2. Aktivieren Sie im Abschnitt authorize LDAP, indem Sie das Minuszeichen davor entfernen.

      #
      # The ldap module reads passwords from the LDAP database.
      ldap
    3. Ändern Sie den Abschnitt authenticate, indem Sie den Block Auth-Type LDAP so bearbeiten:

      # Auth-Type LDAP {
      ldap
      # }

    4. Ändern Sie den Abschnitt authenticate, indem Sie den Block Auth-Type PAP so bearbeiten:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Eine Anleitung zum Verbinden von GitLab mit Secure LDAP finden Sie auf der englischsprachigen Hilfeseite Google Secure LDAP | Configuring Google LDAP client.

Itopia/Ubuntu

Eine Anleitung zum Verbinden von Itopia/Ubuntu mit Secure LDAP finden Sie auf der Hilfeseite Configuring Google Cloud Identity LDAP on Ubuntu 16.04 for user logins (Google Cloud Identity LDAP unter Ubuntu 16.04 für Nutzeranmeldungen konfigurieren).

Ivanti/LanDesk

Gehen Sie so vor:

  1. Öffnen Sie auf Ihrem Ivanti-Webserver OpenLDAPAuthenticationConfiguration.xml oder OpenLDAPSSLAuthenticationConfiguration.xml in einem Texteditor in den beiden folgenden Ordnern:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework und C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (wobei servicedesk der Instanzname ist)
  2. Aktualisieren Sie den Wert <Server> auf ldap.google.com.
  3. Aktualisieren Sie den Wert <Port> auf Port 3268 für Klartext mit aktiviertem StartTLS und auf 3269 für den SSL/TLS-Port. Die Standardwerte sind 389 für den Klartextport und 636 für den SSL/TLS-Port.
  4. Legen Sie den Wert <TestDN> auf Ihren Domainnamen im DN-Format fest. Beispiel: dc=beispiel,dc=de für beispiel.de.
  5. Fügen Sie sowohl ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config als auch ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config die Zeile

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />

    oder die Zeile

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
    hinzu.
  6. Öffnen Sie im Ivanti Configuration Center die erforderliche Instanz.
  7. Klicken Sie neben der Anwendung Service Desk Framework auf Edit (Bearbeiten).
    Das Dialogfeld Edit Application (Anwendung bearbeiten) für Service Desk Framework wird angezeigt.
  8. Wählen Sie in der Gruppe Configuration parameters (Konfigurationsparameter) aus der Liste Logon policy (Anmelderichtlinien) die Option Explicit only (Nur explizit) aus und klicken Sie dann auf OK.
  9. Klicken Sie neben der Web Access-Anwendung auf Bearbeiten.
    Das Dialogfeld Edit Application (Anwendung bearbeiten) für Web Access wird angezeigt.
  10. Wählen Sie in der Gruppe Konfigurationsparameter in der Liste Anmelderichtlinie die Option Nur explizit aus und klicken Sie dann auf OK.

Verwenden Sie bei der Anmeldung das Netzwerkpasswort des zugehörigen Domainnutzers.

Ausnahmeprotokollierung für die LDAP-Serverauthentifizierung

Wenn Sie Probleme bei der Konfiguration der LDAP-Serverauthentifizierung haben, können Sie die Ausnahme-Protokollierung aktivieren, um das Problem zu identifizieren. Diese Funktion ist standardmäßig nicht aktiviert und sollte auch wieder deaktiviert werden, wenn Sie die Fehlersuche abgeschlossen haben.

So aktivieren Sie das Ausnahme-Logging für die LDAP-Serverauthentifizierung:

  1. Öffnen Sie die entsprechende Authentifizierungsdatei der Konfiguration (XML-Datei) in einem Texteditor:

    DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml oder OpenLDAPSSLAuthenticationConfiguration.xml
  2. Ändern Sie die Zeile:

    <ShowExceptions>false</ShowExceptions>
    in
    <ShowExceptions>true</ShowExceptions>
  3. Speichern Sie die Änderungen.

Ldp.exe (Windows)

Gehen Sie so vor:

  1. Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie an der Eingabeaufforderung Folgendes ein:

    Wenn Sie macOS oder Linux verwenden, geben Sie die folgenden Befehle ein:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Geben Sie ein Passwort zum Verschlüsseln der Ausgabedatei ein.

    In Windows:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    Wichtig:Die beiden Dateien (<CERT_FILE>.crt und <CERT_FILE>.key) müssen sich im selben Verzeichnis befinden. Achten Sie außerdem darauf, dass sowohl key als auch crt denselben Namen haben (mit einer anderen Erweiterung). In diesem Beispiel verwenden wir die Namen ldap-client.crt und ldap-client.key.

  2. Gehen Sie zum Steuerfeld.
  3. Suchen Sie im Suchfeld nach „Zertifikat“ und klicken Sie auf Nutzerzertifikate verwalten.
  4. Gehen Sie zu Action > All Tasks > Import… (Aktion > Alle Aufgaben > Importieren…).
  5. Wählen Sie Current User (Aktueller Nutzer) aus und klicken Sie auf Next (Weiter).
  6. Klicken Sie auf Browse… (Durchsuchen…).
  7. Wählen Sie rechts unten im Dialogfeld über die Drop-down-Liste file type (Dateityp) die Option Personal Information Exchange (*.pfx;*.p12) (Austausch personenbezogener Daten (*.pfx;*.p12)) aus.
  8. Wählen Sie die Datei ldap-client.p12 aus Schritt 2 aus, klicken Sie auf Öffnen und dann auf Weiter.
  9. Geben Sie das Passwort aus Schritt 2 ein und klicken Sie auf Next (Weiter).
  10. Wählen Sie den Zertifikatspeicher Persönlich aus, klicken Sie auf Weiter und dann auf Fertigstellen.
  11. Führen Sie Ldp.exe aus.
  12. Klicken Sie auf Verbindung > Verbinden…
  13. Geben Sie die folgenden Verbindungsdetails ein:

    Server:ldap.google.com
    Port:636
    Verbindungslos:Nicht aktiviert
    SSL:Aktiviert
  14. Klicken Sie auf OK.
  15. Gehen Sie zu View > Tree (Ansicht > Baum).
  16. Geben Sie den Basis-DN ein. Dies ist Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für beispiel.de.
  17. Klicken Sie auf OK.
  18. Wenn die Verbindung erfolgreich ist, werden im rechten Bereich von LDP.exe die Active Directory-Inhalte angezeigt, z. B. alle Attribute, die im Basis-DN vorhanden sind.

Netgate/pfSense

Eine Anleitung zum Verbinden von Netgate/pfSense mit Secure LDAP finden Sie auf der Hilfeseite Google Cloud Identity als Authentifizierungsquelle konfigurieren.

OpenLDAP/ldapsearch (Linux)

Verwenden Sie in der Befehlszeile den OpenLDAP-Befehl ldapsearch, um auf Ihr LDAP-Verzeichnis zuzugreifen.

Angenommen, Ihre Clientzertifikats- und Schlüsseldateien sind ldap-client.crt und ldap-client.key, Ihre Domain ist beispiel.de und der Nutzername ist jsmith:

$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'

Dadurch werden die entsprechenden Umgebungsvariablen so festgelegt, dass sie auf die Clientschlüssel verweisen. Sie können die anderen ldapsearch-Optionen z. B. durch die Filter und angeforderten Attribute ersetzen. Weitere Informationen finden Sie auf den ldapsearch-Manpages („man ldapsearch“).

ldapsearch (macOS)

Gehen Sie so vor:

  1. Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie an der Eingabeaufforderung Folgendes ein:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Geben Sie Ihr Passwort ein, um die Ausgabedatei zu verschlüsseln.
  2. Klicken Sie rechts oben in der Menüleiste auf  und geben Sie Schlüsselbundzugriff ein.
  3. Öffnen Sie die App „Schlüsselbundverwaltung“ und klicken Sie in der Liste auf der linken Seite auf System.
  4. Klicken Sie links oben in der Menüleiste auf Datei und wählen Sie Objekte importieren aus.
  5. Suchen Sie nach dem Speicherort der generierten Datei ldap-client.p12, wählen Sie sie aus und klicken Sie auf Öffnen.
    Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
    In der Liste der System-Keychain-Zertifikate sollte jetzt ein Zertifikat mit dem Namen LDAP Client angezeigt werden.
  6. Klicken Sie auf den Pfeil neben dem Zertifikat des LDAP-Clients. Darunter wird ein privater Schlüssel angezeigt.
    1. Klicken Sie doppelt auf den privaten Schlüssel.
    2. Wählen Sie im Dialogfeld den Tab Zugriffssteuerung aus und klicken Sie links unten auf +.
    3. Geben Sie im geöffneten Fenster Befehl + Umschalttaste + G ein, um ein neues Fenster zu öffnen, und ersetzen Sie dann den vorhandenen Text durch /usr/bin/ldapsearch.

    4. Klicken Sie auf Go (Öffnen).

      Dadurch wird ein Fenster geöffnet, in dem „ldapsearch“ markiert ist.

    5. Klicken Sie auf Hinzufügen.

    6. Klicken Sie auf Änderungen speichern und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

      Sie können jetzt über die Befehlszeile mit dem OpenLDAP-Befehl „ldapsearch“ auf Ihr LDAP-Verzeichnis zugreifen.

  7. Angenommen, die Datei ldap-client.p12, die Sie zuvor in den Schlüsselbund importiert haben, hat den Namen LDAP Client, Ihre Domain ist beispiel.de und der Nutzername ist jsmith. Geben Sie Folgendes ein:

    $ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'

Dadurch werden die relevanten Umgebungsvariablen so festgelegt, dass sie auf das importierte Clientzertifikat verweisen. Sie können die anderen ldapsearch-Optionen z. B. durch die Filter und angeforderten Attribute ersetzen. Weitere Informationen finden Sie auch im Handbuch zu ldapsearch (man ldapsearch).

OpenVPN (Community-Version)

Gehen Sie so vor:

  1. Installieren und konfigurieren Sie OpenVPN. Falls Sie dies bereits getan haben, öffnen Sie die Seite „Settings“ (Einstellungen) in OpenVPN.

    Die allgemeine Konfiguration eines VPN wird in diesem Hilfeartikel nicht beschrieben. Sobald ein VPN konfiguriert ist, können Sie die Nutzerauthentifizierung und -autorisierung über LDAP hinzufügen. Insbesondere müssen Sie das Plug-in openvpn-auth-ldap installieren.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Kopieren Sie die LDAP-Clientschlüssel- und Zertifikatsdateien nach /etc/openvpn/ldap-client.key und /etc/openvpn/ldap-client.crt.
  3. Erstellen Sie eine Datei mit dem Namen /etc/openvpn/auth-ldap.conf mit folgendem Inhalt (vorausgesetzt, beispiel.de ist der Domainname):

    <LDAP>
    URL ldaps://ldap.google.com:636 #
    Timeout 15
    TLSEnable false
    TLSCACertDir /etc/ssl/certs
    TLSCertFile /etc/openvpn/ldap-client.crt
    TLSKeyFile /etc/openvpn/ldap-client.key
    </LDAP>
    <Authorization>
    BaseDN "dc=example,dc=com"
    SearchFilter "(uid=%u)" # (or choose your own LDAP filter for users)
    RequireGroup false
    </Authorization>

  4. Bearbeiten Sie die OpenVPN-Konfigurationsdatei, häufig /etc/openvpn/server.conf oder ähnlich benannt. Fügen Sie unten in der Datei Folgendes hinzu:

    plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
    verify-client-cert optional

  5. Starten Sie den OpenVPN-Server neu.

    $ sudo systemctl restart openvpn@server
  6. Konfigurieren Sie die VPN-Clients so, dass die Nutzernamen und Passwörter der Nutzer verwendet werden. Fügen Sie beispielsweise in einer OpenVPN-Clientkonfiguration auth-user-pass am Ende der OpenVPN-Clientkonfigurationsdatei hinzu und starten Sie den OpenVPN-Client:

    $ openvpn --config /path/to/client.conf
  7. Folgen Sie der Anleitung zum Verwenden von Stunnel als Proxy.

OpenVPN Access Server (kommerzielle Version)

Eine Anleitung zum Verbinden von OpenVPN Access Server mit Secure LDAP finden Sie auf der Hilfeseite Google Secure LDAP (in englischer Sprache).

PaperCut MF und NG

Eine Anleitung zum Verbinden von PaperCut mit Secure LDAP finden Sie auf der Hilfeseite How to sync and authenticate Google Workspace and Google Cloud Identity users in PaperCut (Google Workspace- und Google Cloud Identity-Nutzer in PaperCut synchronisieren und authentifizieren).

Puppet Enterprise

Eine Anleitung zum Verbinden von Puppet Enterprise mit Secure LDAP finden Sie auf der englischsprachigen GitHub-Seite Google Cloud Directory for PE (Google Cloud Directory für Puppet Enterprise).

Softerra LDAP-Browser

Wichtig:Bevor Sie beginnen, müssen Sie Softerra LDAP Browser mit der Versionsnummer 4.5 (4.5.19808.0) oder höher installiert haben. Weitere Informationen finden Sie unter LDAP Browser 4.5.

Gehen Sie so vor:

  1. Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie an der Eingabeaufforderung Folgendes ein:

    Wenn Sie macOS oder Linux verwenden, geben Sie die folgenden Befehle ein:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Geben Sie ein Passwort zum Verschlüsseln der Ausgabedatei ein.

    In Windows:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    Wichtig:Die beiden Dateien (<CERT_FILE>.crt und <CERT_FILE>.key) müssen sich im selben Verzeichnis befinden. Achten Sie außerdem darauf, dass sowohl key als auch crt denselben Namen haben (mit einer anderen Erweiterung). In diesem Beispiel verwenden wir die Namen ldap-client.crt und ldap-client.key.

  2. Installieren Sie das Schlüsselpaar im Softerra LDAP-Browser.
    1. Gehen Sie zu Tools > Certificate Manager (Tools > Zertifikatmanager).
    2. Klicken Sie auf Import… (Importieren).
    3. Klicken Sie auf Next (Weiter).
    4. Klicken Sie auf Browse… (Durchsuchen…).
    5. Wählen Sie im Drop-down-Menü Dateityp rechts unten im Dialogfeld die Option Personal Information Exchange (*.pfx;*.p12) aus.
    6. Wählen Sie die im Schritt 2 genannte Datei ldap-client.p12 aus.
    7. Klicken Sie auf Open (Öffnen) und dann auf Next (Weiter).
    8. Geben Sie das Passwort aus Schritt 2 oben ein und klicken Sie auf Next (Weiter).
    9. Wählen Sie den Zertifikatspeicher Persönlich aus.
    10. Klicken Sie auf Weiter.
    11. Klicken Sie auf Beenden.
  3. Fügen Sie ein Serverprofil hinzu.
    1. Rufen Sie Datei > Neu > Neues Profil… auf.
    2. Geben Sie einen Namen für das Profil ein, z. B. Google LDAP.
    3. Klicken Sie auf Weiter.

      Geben Sie Folgendes ein:

      Host:ldap.google.com
      Port
      :636
      Base DN:Ihr Domainname im DN-Format. (z. B. dc=beispiel,dc=de für beispiel.de)
      Use secure connection (SSL) (Sichere Verbindung (SSL) verwenden):aktiviert
    4. Klicken Sie auf Weiter.
    5. Wählen Sie External (SSL Certificate) (Extern (SSL-Zertifikat)) aus.
    6. Klicken Sie auf Weiter.
    7. Klicken Sie auf Beenden.

Sophos Mobile

Eine Anleitung zum Verbinden von Sophos Mobile mit Secure LDAP finden Sie auf der Seite Connecting Sophos Mobile to Google Cloud Identity/Google Cloud Directory using Secure LDAP (Sophos Mobile mithilfe von Secure LDAP mit Google Cloud Identity/Google Cloud Directory verbinden).

Splunk

Wenn Sie Splunk mit Secure LDAP verbinden möchten, benötigen Sie die Splunk-Version 8.1.4 oder neuer. Wenn Sie eine ältere Splunk-Version – wie z. B. Version 8.1.3 – verwenden, werden möglicherweise übermäßig viele LDAP-Anfragen an den LDAP-Server gesendet, sodass Ihr Kontingent schnell erschöpft sein könnte. Weitere Informationen zu den Problemen mit Splunk-Version 8.1.3 finden Sie in diesem englischsprachigen Hilfeartikel.

Gehen Sie so vor:

  1. Kopieren Sie den LDAP-Clientschlüssel und die Zertifikatsdateien nach /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key und /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt.

    $ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

    $ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

    $ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

  2. Fügen Sie der Datei ldap.conf die folgenden Konfigurationsdateien hinzu:

    ssl start_tls
    TLS_REQCERT never
    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem

  3. Fügen Sie die folgenden Konfigurationen in die Datei /home/splunkadmin/.ldaprc des Nutzers ein:

    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

  4. Fügen Sie die LDAP-Strategie über die Splunk-Web-UI hinzu. Geben Sie die folgenden Informationen ein und klicken Sie auf Speichern:

Name

Google Secure LDAP

Host

ldap.google.com

Port

636

SSL aktiviert

Aktiviert

Verbindungsreihenfolge

1

Bind DN

Geben Sie die Anmeldedaten ein, die Sie in der Google Admin-Konsole generiert haben.

DN-Passwort binden

Geben Sie die Anmeldedaten ein, die Sie in der Google Admin-Konsole generiert haben.

Base DN (Basis-DN)

Ihr Domainname im DN-Format (z. B. dc=beispiel,dc=de für die Domain beispiel.de)

Filter für Nutzerbasis

Geben Sie den Nutzerbasisfilter für die Objektklasse ein, nach der Sie die Nutzer filtern möchten.

Attribut „Nutzername“

uid

Attribut „Echter Name“

displayname

E‑Mail-Attribut

mail

Attribut für die Gruppenzuordnung

dn

Basis-DN für Gruppe

Ihr Domainname im DN-Format, z. B. ou=Gruppen,dc=beispiel,dc=de für die Domain beispiel.de

Suchfilter für statische Gruppen

Geben Sie den statischen Gruppensuchfilter für die Objektklasse ein, nach der Sie die statischen Gruppen filtern möchten.

Attribut für Gruppennamen

cn

Statisches Mitgliedsattribut

member

SSSD (Red Hat Enterprise und CentOS)

SSSD führt eine Nutzersuche durch, um weitere Informationen für die Nutzerauthentifizierung zu erhalten. Damit die Nutzerauthentifizierung für diesen LDAP-Client richtig funktioniert, müssen Sie Nutzerinformationen lesen und Gruppeninformationen lesen für alle Organisationseinheiten aktivieren, in denen Nutzeranmeldedaten bestätigen aktiviert ist. Weitere Informationen

So verbinden Sie einen SSSD-Client unter Red Hat 8 oder CentOS 8 mit dem Secure LDAP-Dienst:

  1. Fügen Sie den SSSD-Client dem Secure LDAP-Dienst hinzu:
    1. Gehen Sie in der Admin-Konsole zu Apps > LDAP > CLIENT HINZUFÜGEN.
      Achten Sie darauf, dass Sie sich mit Ihrem Geschäftskonto und nicht mit Ihrem privaten Gmail-Konto anmelden.
    2. Geben Sie die Clientdetails ein und klicken Sie auf WEITER.
    3. Konfigurieren Sie die Zugriffsberechtigungen:
      Nutzeranmeldedaten überprüfen – Gesamte Domain
      Nutzerinformationen lesen – Gesamte Domain
      Gruppeninformationen lesen –Ein
    4. Klicken Sie auf LDAP-CLIENT HINZUFÜGEN.
    5. Laden Sie das generierte Zertifikat herunter.
    6. Klicken Sie auf WEITER ZU CLIENTDETAILS.
    7. Ändern Sie den Dienststatus auf EIN.
  2. Abhängigkeiten installieren:

    dnf install openldap-clients sssd-ldap
    install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap


    Entpacken Sie die Zertifikats-ZIP-Datei und kopieren Sie die CRT- und KEY-Dateien nach /etc/sssd/ldap.
  3. Optional: Testen Sie ldapsearch:

    LDAPTLS_REQCERT=never \
    LDAPTLS_KEY=Google.key \
    LDAPTLS_CERT=Google.crt \
    ldapsearch -H ldaps://ldap.google.com:636/ \
    -b dc=example,dc=com \
    -D usertoverify@example.com \
    -W \
    '(mail=usertoverify@example.com)' \
    mail dn


    Geben Sie das Google-Passwort des Nutzers ein, wenn Sie dazu aufgefordert werden.

    Hinweis: Dem Nutzer muss eine Google Workspace Enterprise- oder Cloud Identity Premium-Lizenz zugewiesen sein.

  4. Erstellen Sie die Datei /etc/sssd/sssd.conf mit folgendem Inhalt:

    [sssd]
    services = nss, pam
    domains = example.com

    [domain/example.com]
    ldap_tls_cert = /etc/sssd/ldap/Google.crt
    ldap_tls_key = /etc/sssd/ldap/Google.key
    ldap_tls_reqcert = never
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID

  5. Aktualisieren Sie die Berechtigungen und SELinux-Labels:

    chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    restorecon -FRv /etc/sssd

  6. SSSD neu starten:

    systemctl restart sssd
  7. Führen Sie einen Test aus:

    ssh an Server:

    ssh -l user@example.com {HOSTNAME}

Fehlerbehebung

  1. SSSD-Version prüfen (muss mindestens 1.15.2 sein):

    # sssd --version
    2.2.3

  2. Bei RHEL/CentOS (oder jeder Distribution mit SELinux-Erzwingung) müssen die SSSD-Konfigurationsdateien sowie die Zertifikatsdatei und der Schlüssel in einem Verzeichnis gespeichert sein, auf das die Rolle „sssd_conf_t“ zugreifen kann:

    # egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts

    Suchen Sie in /var/log/audit/audit.log nach AVC-Ablehnungsnachrichten.

  3. Prüfen Sie, ob in /etc/nsswitch.conf „sss“ für die Entitäten „passwd“, „shadow“, „group“ und „netgroup“ angegeben ist:

    passwd: files sss
    shadow: files sss
    group: files sss
    netgroup: files sss


    Hier werden LDAP-Nutzer durch lokale Dateien überschrieben.
  4. Prüfen Sie /var/log/sssd.conf auf Konfigurationsfehler:

    Beispiel:
    [sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Skipping.

    Aktion: Sie müssen die .conf-Datei mit dem Befehl „chmod 600“ ändern.

    Beispiel:
    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.

    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.

    Aktion: Entfernen Sie die nicht unterstützten Gruppenübereinstimmungen von LDAP-Erweiterungen aus sssd.conf.

  5. Überprüfen Sie /var/log/sssd_{DOMAIN}.log auf LDAP/network/auth-Fehler.

    Beispiel:

    [sssd[be[beispiel.de]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]

    Aktion: Sie müssen „ldap_tls_reqcert = never“ zu sssd.conf hinzufügen.

    Um die Ausführlichkeit von Fehlern zu erhöhen, fügen Sie „debug_level = 9“ in sssd.conf im Abschnitt „Domain“ hinzu und starten Sie „sssd“ neu.

SSSD (andere Linux-Distributionen)

SSSD führt eine Nutzersuche durch, um weitere Informationen für die Nutzerauthentifizierung zu erhalten. Damit die Nutzerauthentifizierung für diesen LDAP-Client richtig funktioniert, müssen Sie Nutzerinformationen lesen und Gruppeninformationen lesen für alle Organisationseinheiten aktivieren, in denen Nutzeranmeldedaten bestätigen aktiviert ist. Weitere Informationen

So verbinden Sie einen SSSD-Client mit dem Secure LDAP-Dienst:

  1. Installieren Sie SSSD-Version >= 1.15.2.

    $ sudo apt-get install sssd
  2. Angenommen, Ihre Clientzertifikats- und Schlüsseldateien heißen /var/ldap-client.crt und /var/ldap-client.key und Ihre Domain ist beispiel.de. Bearbeiten Sie /etc/sssd/sssd.conf mit einer Konfiguration wie:


    [sssd]
    services = nss, pam
    domains = beispiel.de

    [domain/example.com]
    ldap_tls_cert = /var/ldap-client.crt
    ldap_tls_key = /var/ldap-client.key
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID
    ldap_groups_use_matching_rule_in_chain = true
    ldap_initgroups_use_matching_rule_in_chain = true

  3. Ändern Sie die Eigentümerschaft und Berechtigung der Konfigurationsdatei:

    $ sudo chown root:root /etc/sssd/sssd.conf
    $ sudo chmod 600 /etc/sssd/sssd.conf

  4. SSSD neu starten:

    $ sudo service sssd restart

Tipp:Wenn Sie das SSSD-Modul auf Linux-Computern ohne externe IP-Adressen in Google Compute Engine verwenden, können Sie trotzdem eine Verbindung zum Secure LDAP-Dienst herstellen, sofern Sie den internen Zugriff auf Google-Dienste aktiviert haben. Weitere Informationen finden Sie unter Privaten Google-Zugriff konfigurieren.

macOS

Gehen Sie wie unten beschrieben vor, um den macOS-Client für die Authentifizierung des Nutzerkontos über Secure LDAP zu verbinden.

Systemanforderungen

  • Die macOS-Version muss Catalina Version 10.15.4 oder höher sein.
  • Für Schritt 1 der Vorbereitungsphase ist eine Google Super Admin-Nutzer-ID erforderlich.
  • Sie benötigen lokale Administratorberechtigungen, um diese Konfiguration auszuführen.

Inhalt:

 Vorbereitungsphase

Die Anleitungen in diesem Abschnitt zeigen, wie Sie die macOS-Authentifizierung mit Secure LDAP manuell einrichten und testen.

Schritt 1: macOS als LDAP-Client in der Admin-Konsole einrichten

Eine Anleitung finden Sie unter LDAP-Clients hinzufügen oder in dieser Secure LDAP-Demo. Außerdem wird während dieses Vorgangs ein automatisch generiertes TLS-Clientzertifikat heruntergeladen.

Schritt 2: Zertifikat in den System-Schlüsselbund importieren

  1. Kopieren Sie das Zertifikat (die in Schritt 1 heruntergeladene ZIP-Datei) und den Schlüssel auf den macOS-Computer.
    Tipp:Entpacken Sie die Datei, um die Zertifikats- und Schlüsseldateien zu finden.
  2. Importieren Sie das Schlüsselpaar in den Systemschlüsselbund:
    1. Konvertieren Sie den Schlüssel und das Zertifikat in eine PKCS 12-Datei (p12). Führen Sie im Terminal den folgenden Befehl aus:

      openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key

      Tipp:Notieren Sie sich den Namen der .p12-Datei.

      Sie werden aufgefordert, ein Passwort einzugeben. Geben Sie ein Passwort ein, mit dem die P12-Datei verschlüsselt werden soll.

    2. Öffnen Sie die Anwendung Schlüsselbundverwaltung.

    3. Klicken Sie auf den System-Schlüsselbund.

    4. Klicken Sie auf Datei > Objekte importieren.

    5. Wählen Sie die oben erstellte Datei ldap-client.p12 aus.

    6. Wenn Sie dazu aufgefordert werden, geben Sie das Administratorpasswort ein, um Änderungen am Systemschlüsselbund zu ermöglichen.

    7. Geben Sie das Passwort ein, das Sie oben erstellt haben, um die P12-Datei zu entschlüsseln.

      Hinweis:In der Liste der Schlüssel sollte ein neues Zertifikat mit dem zugehörigen privaten Schlüssel angezeigt werden. Es hat unter Umständen den Namen LDAP-Client. Notieren Sie sich den Namen des Zertifikats für den nächsten Schritt unten.
    8. Folgen Sie Schritt 6 im Abschnitt ldapsearch (macOS) in diesem Artikel, um die Zugriffssteuerung für den privaten Schlüssel einzurichten, um die unten angegebenen Apps hinzuzufügen. Wenn der private Schlüssel nicht in der Kategorie Alle Elemente angezeigt wird, wechseln Sie zur Kategorie Meine Zertifikate und suchen Sie den richtigen Eintrag für den privaten Schlüssel, indem Sie das entsprechende Zertifikat maximieren.

      Die ldapsearch-App, wie in der Anleitung beschrieben, ist nur für die Fehlerbehebung relevant und nicht für andere Zwecke. Sie wird in der Regel entfernt, bevor Nutzern Zugriff auf macOS gewährt wird.

      Die folgenden drei Apps müssen der Zugriffssteuerungsliste hinzugefügt werden:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Fügen Sie der Datei /etc/openldap/ldap.conf eine Zeile hinzu und achten Sie darauf, dass „LDAP Client“ genau dem Zertifikatsnamen entspricht, der nach dem Import der .p12-Datei in der macOS-Anwendung „Schlüsselbundverwaltung“ angezeigt wird. Der Name stammt aus dem allgemeinen Namen des X.509-Antragstellers des generierten Zertifikats:

    sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'

Schritt 3: Gerät zur Authentifizierung auf das Google-Verzeichnis verweisen

Öffnen Sie die Anwendung Directory Utility, um einen neuen LDAP-Verzeichnisbaumknoten zu erstellen:

  1. Klicken Sie auf das Schloss, um Änderungen vorzunehmen, und geben Sie Ihr Passwort ein.
  2. Wählen Sie LDAPv3 aus und klicken Sie auf das Stiftsymbol, um die Einstellungen zu bearbeiten.
  3. Klicken Sie auf Neu.
  4. Geben Sie als Servername ldap.google.com ein, wählen Sie Mit SSL verschlüsseln aus und klicken Sie auf Manuell.
  5. Wählen Sie den neuen Servernamen aus und klicken Sie auf Edit… (Bearbeiten…).
  6. Geben Sie einen aussagekräftigen Namen für die Konfiguration ein, z. B. Google Secure LDAP.
  7. Wählen Sie Mit SSL verschlüsseln aus und prüfen Sie, ob der Port auf 636 festgelegt ist.
  8. Wechseln Sie zum Tab Search & Mappings (Suche und Zuordnungen).
    1. Wählen Sie in der Drop-down-Liste Auf diesen LDAPv3-Server zugreifen mit die Option RFC2307 aus.
    2. Wenn Sie dazu aufgefordert werden, geben Sie die domainspezifischen Informationen bei Search Base Suffix (Suchbasissuffix) ein. Geben Sie beispielsweise dc=zomato,dc=com für den Domainnamen zomato.com ein.
    3. Klicken Sie auf OK.
    4. Konfigurieren Sie Attribute unter dem Datensatztyp Nutzer:
      1. Wählen Sie im Abschnitt Record Types and Attributes (Eintragstypen und Attribute) die Option Users (Nutzer) aus und klicken Sie auf den Button +.
      2. Wählen Sie im Pop-up-Fenster Attributtypen und dann GeneratedUID aus. Klicken Sie auf OK, um das Pop-up-Fenster zu schließen.

        GeneratedUID sollte unter „Nutzer“ angezeigt werden, nachdem der Bereich maximiert wurde.
      3. Klicken Sie auf die GeneratedUID und dann im Feld rechts auf das Symbol „+“.
      4. Geben Sie apple-generateduid in das Textfeld ein und klicken Sie auf Eingabe.
      5. Klicken Sie unter dem Knoten Users auf das Attribut NFSHomeDirectory.
      6. Aktualisieren Sie auf dem Bildschirm rechts den Wert für dieses Attribut auf #/Users/$uid$.
      7. Klicken Sie auf OK und geben Sie Ihr Passwort ein, um die Änderungen zu speichern.
  9. Konfigurieren Sie im Fenster Directory Utility (Verzeichnisdienstprogramm) die neue LDAP-Konfiguration:
    1. Rufen Sie den Tab Suchrichtlinie auf.
    2. Klicken Sie auf das Schloss, um Änderungen vorzunehmen, und geben Sie das Passwort des aktuellen Nutzers ein, wenn Sie dazu aufgefordert werden.
    3. Ändern Sie die Drop-down-Option von Suchpfad in Benutzerdefinierter Pfad.
    4. Öffnen Sie den Tab Authentifizierung und klicken Sie auf das Symbol +.
    5. Wählen Sie /LDAPv3/ldap.google.com aus der Liste „Verzeichnisdomains“ aus und klicken Sie auf Hinzufügen.
    6. Klicken Sie auf den Button Übernehmen und geben Sie bei Aufforderung Ihr Administratorpasswort ein.
  10. Führen Sie die folgenden vier Befehle aus, um die Authentifizierungsmechanismen DIGEST-MD5, CRAM-MD5, NTLM und GSSAPI zu deaktivieren. macOS verwendet Simple Bind zur Authentifizierung über den Google Secure LDAP-Dienst:

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

  11. Starten Sie neu, um die OpenDirectory-Konfiguration zu aktualisieren.

Schritt 4: Mobiles Konto erstellen (ermöglicht die Offlineanmeldung)

Jeder Google Workspace- oder Cloud Identity-Nutzer kann sich mit seinem Nutzernamen und Passwort in einem Netzwerkkonto (Google-Konto) anmelden. Für diesen Anmeldevorgang ist eine Netzwerkverbindung erforderlich. Wenn sich ein Nutzer mit und ohne Netzwerkverbindung anmelden muss, kann ein mobiles Konto erstellt werden. Mit einem mobilen Konto können Sie sich mit dem Nutzernamen und Passwort Ihres Netzwerkkontos (Google-Konto) anmelden, unabhängig davon, ob Sie mit dem Netzwerk verbunden sind. Weitere Informationen finden Sie unter Mobile Konten auf dem Mac erstellen und konfigurieren.

So erstellen Sie ein mobiles Konto für Secure LDAP-Nutzer:

  1. Führen Sie den folgenden Befehl aus, um eine Verbindung zum Secure LDAP-Server herzustellen und einen Home-Pfad und ein oder mehrere mobile Konten einzurichten:

    sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v

    Tipp:Ersetzen Sie $uid durch den Nutzernamen der E-Mail-Adresse, die mit dem Google-Konto des Nutzers verknüpft ist. Beispiel: jschmidt ist der Nutzername für jschmidt@solarmora.com.

  2. Geben Sie bei Aufforderung den SecureToken-Administratornutzernamen und dann Ihr Passwort ein. Dadurch wird $uid in FileVault eingefügt. Dies ist erforderlich, wenn das macOS-Laufwerk verschlüsselt ist.

Schritt 5 (optional): Anmeldebildschirm festlegen

  1. Klicken Sie unten links auf Systemeinstellungen > Nutzer & Gruppen > Anmeldeoptionen.
  2. Geben Sie Ihre Administratoranmeldedaten ein.
  3. Ändern Sie Anmeldefenster anzeigen als in Name und Passwort.

Schritt 6: Gerät neu starten und anmelden

  1. Überprüfen Sie, ob das Gerät mit dem Internet verbunden ist. Wenn Sie keine Internetverbindung haben, funktioniert die Anmeldung für den Secure LDAP-Nutzer nicht.
    Hinweis:Eine Internetverbindung ist nur für die erste Anmeldung erforderlich. Alle weiteren Anmeldungen sind ohne Internetzugang möglich.
  2. Melden Sie sich auf dem Gerät mit dem Nutzerkonto an, das für die Authentifizierung mit Secure LDAP konfiguriert ist.

 Bereitstellungsphase

Bei der Anleitung in diesem Abschnitt geht es hauptsächlich um die Automatisierung der Gerätekonfiguration für Ihre Nutzer. Führen Sie die Schritte 1 und 2 unten auf demselben macOS-Gerät aus, auf dem Sie die manuelle Konfiguration in der Vorbereitungsphase abgeschlossen haben.

Schritt 1: Mac-Profil mit Zertifikat mit Apple Configurator 2 erstellen

  1. Installieren Sie auf dem Computer, auf dem Sie die macOS-Authentifizierung mit Secure LDAP manuell konfiguriert haben, Apple Configurator 2.
  2. Öffnen Sie Apple Configurator 2. Erstellen Sie ein neues Profil und klicken Sie im Bereich „Certificate“ (Zertifikat) auf „Configure“ (Konfigurieren). Importieren Sie die zuvor generierte P12-Datei.

    Hinweis:Für diese P12-Datei muss ein Passwort festgelegt sein. Geben Sie dieses Passwort im Bereich „Password“ (Passwort) des Zertifikats ein.

  3. Speichern Sie das Profil.
  4. Wenn Sie ein Gerät mit einem M1- oder M2-Prozessor verwenden, überspringen Sie diesen Schritt und fahren Sie mit Schritt 5 fort. ) Öffnen Sie dieses Profil in einem beliebigen Texteditor und fügen Sie die folgenden Zeilen in das erste <dict>-Tag ein:

    <key>PayloadScope</key>
    <string>System</string>


    Das wird hinzugefügt, da Apple Configurator noch keine Profile für macOS unterstützt.
  5. Fügen Sie im zweiten <dict>-Tag parallel zu den Zertifikatsdaten die folgenden Zeilen ein:

    <key>AllowAllAppsAccess</key>
    <true/>


    Dadurch kann das Zertifikat von allen Anwendungen aufgerufen werden.

Schritt 2: Verzeichniskonfigurationsdatei (PLIST) in XML konvertieren

In diesem Schritt extrahieren Sie alle manuellen Konfigurationen, die Sie in Schritt 3 der Vorbereitungsphase vorgenommen haben, in eine XML-Datei. Mit dieser Datei und dem in Schritt 1 erstellten Mac-Profil können Sie andere macOS-Geräte automatisch konfigurieren.

  1. Kopieren Sie /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist auf Ihren Computer oder in einen anderen Ordner.
  2. Konvertieren Sie die Datei in XML, damit Sie sie in einem beliebigen Texteditor überprüfen können. Führen Sie im Terminal den folgenden Befehl aus:

    sudo plutil -convert xml1 <path>/ldap.google.com.plist

    Sie können auf die Datei als <path>/ldap.google.com.plist zugreifen.
  3. Ändern Sie die Berechtigung der oben genannten Datei, sodass Sie die XML-Datei öffnen können. Sie darf nicht leer sein.

Schritt 3: Python-Script erstellen, um die Konfiguration auf Endnutzergeräten zu automatisieren

Kopieren Sie das folgende Python-Script und speichern Sie es als Python-Datei (PY-Datei).

Hinweis:Dieses Beispielskript ist für die Kompatibilität mit Python 3.10.x konzipiert. Dieses Skript wird ohne Mängelgewähr bereitgestellt. Google bietet jedoch keinen Support für Beispielskripte.

Ldap_python_config.py

#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData

import os
import sys

# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()

# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b' '*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)

# Edit the default search path and append the new node to allow for login
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")

Schritt 4: Endnutzergeräte automatisch konfigurieren

Gehen Sie zu anderen macOS-Geräten, die Sie konfigurieren möchten, und führen Sie die folgenden Schritte aus:

  1. Kopieren Sie die in Schritt 1 generierte Mac-Profildatei, die in Schritt 2 erstellte XML-Konfigurationsdatei und das Python-Script aus Schritt 3 auf das Gerät.
  2. Führen Sie den folgenden Befehl aus, um die erforderliche Abhängigkeit für das Script zu installieren:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Führen Sie dazu diesen Befehl aus:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. Um Zertifikate in den macOS-Systemschlüsselbund zu importieren, klicken Sie doppelt auf die Mac-Profildatei, die in Schritt 1 generiert wurde, und geben Sie die Anmeldedaten für den lokalen macOS-Administrator ein, wenn Sie dazu aufgefordert werden. Sie werden dann aufgefordert, das .p12-Passwort einzugeben, das Sie in der Vorbereitungsphase festgelegt haben.
  5. Starten Sie das macOS-Gerät neu.
  6. Erstellen Sie mobile Konten wie in Schritt 4 der Vorbereitungsphase beschrieben und legen Sie optional zusätzliche Einstellungen fest, die in Schritt 5 der Vorbereitungsphase beschrieben werden.

 Einschränkungen und Richtlinien

  • Wenn sich Nutzer mit ihren Google-Anmeldedaten in macOS anmelden, muss sich der Nutzername ihres Workspace-Kontos von der Nutzer-ID ihres macOS-Nutzerprofils unterscheiden. Andernfalls wird die Anmeldung blockiert.
  • Sobald ein Nutzer sich mithilfe von Google-Anmeldedaten in macOS anmeldet, muss die Nutzerpasswortverwaltung (Zurücksetzen oder Wiederherstellen) auf der Google-Website erfolgen, z. B. auf myaccount.google.com oder in der Admin-Konsole. Wenn Sie die Passwortverwaltung mit einer Drittanbieterlösung durchführen, muss das aktuelle Passwort mit Google synchronisiert werden.
  • Wenn der Administrator einen neuen Nutzer erstellt oder das Passwort eines vorhandenen Nutzers zurücksetzt und dabei die Einstellung Bei der nächsten Anmeldung zur Passwortänderung auffordern aktiviert ist, kann sich der Nutzer mit dem vom Administrator festgelegten temporären Passwort nicht auf einem Mac anmelden.
    Problemumgehung: Der Nutzer muss sich mit einem anderen Gerät, z. B. einem Mobilgerät oder einem anderen Computer, bei Google anmelden, ein dauerhaftes Passwort festlegen und sich dann mit dem neuen Passwort in macOS anmelden.
  • Der Mac muss mit dem Internet verbunden sein, damit ldap.google.com bei der ersten Anmeldung nach der Konfiguration oben aufgerufen werden kann.  Wenn Sie ein mobiles Konto eingerichtet haben, ist für nachfolgende Anmeldungen kein Internetzugriff erforderlich.
  • Die Integration von Google Secure LDAP in macOS wurde unter macOS Catalina, Big Sur und Monterey getestet.

Fehlerbehebung

Wenn Probleme beim Herstellen einer Verbindung zu Secure LDAP auftreten, folgen Sie der Anleitung unten.

Schritt 1: Verbindung prüfen

Prüfen Sie mit odutil die Verbindung.
Führen Sie im Terminal den Befehl odutil show nodenames aus.
Prüfe, ob der Status von /LDAPv3/ldap.google.com online lautet. Ist das nicht der Fall, versuchen Sie es mit der Option „telnet“.

Überprüfen Sie die Verbindung mit „nc“.
Führen Sie den folgenden Befehl im Terminal aus: nc -zv ldap.google.com 636
Wenn Sie auf diese Weise keine Verbindung zu Google herstellen können, versuchen Sie, eine Verbindung über IPv4 herzustellen.

Prüfen Sie die Verbindung mit IPv4.
So können die Einstellungen für Ihr Gerät ändern, dass IPv4 verwendet wird:

  1. Gehen Sie zu System Preferences > Network > Wi-Fi > Advanced (Systemeinstellungen > Netzwerk > WLAN > Erweitert).
  2. Wechseln Sie im Menü „Advanced“ (Erweitert) zum Tab „TCP/IP“ (TCP/IP).
  3. Ändern Sie die Drop-down-Auswahl von IPv6 konfigurieren zu Nur Link-Local.
  4. Klicken Sie auf OK und dann auf Übernehmen, um die Änderungen zu speichern.
  5. Überprüfen Sie die Dienstauthentifizierung über eine gültige ldapsearch-Suche.

Schritt 2: Prüfen, ob Sie Verzeichnisobjekte sehen können

  1. Öffnen Sie Directory Utility und dann den Tab Directory Editor.
  2. Wählen Sie in der Drop-down-Liste den Knoten /LDAPv3/ldap.google.com aus.
  3. Prüfen Sie, ob Nutzer und Gruppen aus Ihrer Google-Domain angezeigt werden.

Konfigurationsanleitung für Java-Anwendungen

Die meisten Java-basierten Anwendungen, die LDAP-Funktionen bieten, können so konfiguriert werden, dass die Authentifizierung mit Clientzertifikaten erfolgt. Dazu müssen Sie Ihre Clientzertifikate im Keystore der Anwendung installieren. Die genauen Konfigurationsdateien unterscheiden sich je nach Anwendung, aber der Prozess ist im Allgemeinen ähnlich. Für die Einrichtung müssen OpenSSL und eine Java-Laufzeitumgebung installiert sein.

  1. Konvertieren Sie das Zertifikat und die Schlüssel in das Schlüsselspeicher-Format von Java. Während dieses Vorgangs werden Sie aufgefordert, Passwörter einzugeben. Wählen Sie ein sicheres Passwort aus und verwenden Sie es für alle Aufforderungen. Angenommen, Ihre Clientschlüsseldatei heißt ldap-client.key:

    Wenn Sie macOS oder Linux verwenden, führen Sie die folgenden Befehle aus:

    $  openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
    

    In Windows:

    $  certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
    

    Wichtig:Die beiden Dateien (<CERT_FILE>.crt und <CERT_FILE>.key) müssen sich im selben Verzeichnis befinden. Achten Sie außerdem darauf, dass sowohl key als auch crt denselben Namen haben (mit den beiden unterschiedlichen Erweiterungen). In diesem Beispiel verwenden wir die Namen ldap-client.crt und ldap-client.key.

  2. Importieren Sie das Zertifikat in den Schlüsselspeicher:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Java-Eigenschaften können je nach Anwendung unterschiedlich konfiguriert werden. Häufig können Sie sie mit der Option -D in der Befehlszeile des Befehls „java“ festlegen, mit dem sie gestartet wird. So legen Sie die Java-Eigenschaften für Ihre Anwendung fest:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Konfigurieren Sie die LDAP-Verbindungseinstellungen der Anwendung anhand der Informationen unter Grundlegende Konfigurationsanleitung.

Optional: stunnel als Proxy verwenden

Verwenden Sie stunnel als Proxy für Clients, die keine Möglichkeit bieten, sich mit einem Clientzertifikat bei LDAP zu authentifizieren.

Konfigurieren Sie stunnel so, dass das Clientzertifikat für den LDAP-Server bereitgestellt wird, und konfigurieren Sie Ihren Client so, dass er eine Verbindung zu stunnel herstellt. Im Idealfall führen Sie stunnel auf demselben Server bzw. denselben Servern wie Ihre Anwendung aus und lauschen nur lokal, damit Ihr LDAP-Verzeichnis nicht über diesen Server hinaus verfügbar ist.

Gehen Sie so vor:

  1. Installieren Sie Stunnel. Auf Ubuntu geht das zum Beispiel so:

    $  sudo apt-get install stunnel4
    
  2. Erstellen Sie eine Konfigurationsdatei /etc/stunnel/google-ldap.conf mit folgendem Inhalt (vorausgesetzt, ldap-client.crt ist das Zertifikat und ldap-client.key ist der Schlüssel):

    [ldap]
    client = yes
    accept = 127.0.0.1:1636
    connect = ldap.google.com:636
    cert = ldap-client.crt
    key =
    ldap-client.key

  3. Wenn Sie Stunnel aktivieren möchten, bearbeiten Sie /etc/default/stunnel4 und setzen Sie den Wert auf ENABLED=1.

  4. Starten Sie Stunnel neu.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Konfigurieren Sie die Anwendung so, dass sie auf ldap://127.0.0.1:1636 verweist.

    Sie können „1636“ durch einen beliebigen ungenutzten Port ersetzen, wenn Sie auch die Zeile accept in der Konfigurationsdatei oben ändern. Sie müssen Klartext-LDAP ohne aktiviertes StartTLS/SSL/TLS zwischen dem Client und stunnel verwenden, da sie lokal kommunizieren.

Hinweis:Wenn Sie stunnel auf einem separaten Server ausführen, müssen Sie Ihre Firewalls so konfigurieren, dass nur die erforderlichen Anwendungen auf Ihren stunnel-Server zugreifen können. Sie können stunnel auch so konfigurieren, dass TLS-Verbindungen akzeptiert werden, damit die Daten zwischen Ihrer Anwendung und den stunnel-Servern verschlüsselt werden. Die Details dieser beiden Konfigurationen hängen von Ihrer Umgebung ab.

Nächste Schritte

Nachdem Sie den LDAP-Client mit dem Secure LDAP-Dienst verbunden haben, müssen Sie den Dienststatus für den LDAP-Client auf Ein setzen.

Informationen zu den nächsten Schritten finden Sie unter 5. Stellen Sie die LDAP-Clients auf Ein um.

Hinweis:Bei Problemen mit der Verbindung Ihres LDAP-Clients mit dem Dienst können Sie einfache Tools wie ldapsearch, ADSI oder ldp.exe zur Fehlerbehebung verwenden. Eine Anleitung finden Sie unter Konnektivität testen und Fehlerbehebung.