4. Verbind LDAP-clients met de beveiligde LDAP-service.

Gebruik de instructies in dit artikel om uw LDAP-client te verbinden met de Secure LDAP-service.

Belangrijk:

  • Lees de documentatie van uw leverancier goed door.
    De details in dit artikel over het verbinden van uw LDAP-client met de Secure LDAP-service zijn uitsluitend ter referentie en kunnen worden gewijzigd. Raadpleeg naast deze instructies ook de documentatie van uw leverancier voor de meest actuele stappen voor het verbinden van uw client met de Secure LDAP-service.
  • Voordat je begint
    Voordat u deze instructies gebruikt, moet u ervoor zorgen dat u de client al hebt toegevoegd aan de Secure LDAP-service , toegangsrechten hebt geconfigureerd , een clientcertificaat en -sleutel hebt gedownload en eventueel toegangsgegevens hebt aangemaakt .
  • Connectiviteitstesten
    Optioneel kunt u, voordat u met deze stappen begint, een snelle verbindingstest uitvoeren met behulp van eenvoudige tools zoals ldapsearch , ADSI en ldp.exe . U kunt deze tools ook gebruiken voor het oplossen van problemen als u fouten tegenkomt tijdens het verbinden van uw LDAP-client met de service. Zie Beveiligde LDAP-verbindingstesten voor instructies.
  • Hoe u de installatiestappen kunt voltooien
    Nadat u de LDAP-client hebt verbonden door de instructies op deze pagina te volgen, moet u de configuratie van uw LDAP-client voltooien door de servicestatus in de Google Admin-console op 'Aan' te zetten. Zie 5. LDAP-clients op 'Aan' zetten voor instructies.

Wat is er in dit artikel opgenomen?

Dit artikel bevat de volgende onderdelen:

Deze instructies gaan ervan uit dat de client-sleutel en het certificaatbestand die u downloadt, respectievelijk ldap-client.key en ldap-client.crt heten.

Basisconfiguratie-instructies

Deze sectie bevat algemene instructies voor het verbinden van uw LDAP-client met de Secure LDAP-service. Als uw LDAP-client niet in de onderstaande instructies wordt vermeld, raadpleeg dan de documentatie van die toepassing.

Opmerking: bepaalde LDAP-clients, zoals Atlassian Jira en SSSD, voeren een gebruikersopzoeking uit om meer informatie over een gebruiker te verkrijgen tijdens de gebruikersverificatie. Om ervoor te zorgen dat gebruikersverificatie correct werkt voor dergelijke LDAP-clients, moet u 'Gebruikersinformatie lezen' inschakelen voor alle organisatie-eenheden waar 'Gebruikersgegevens verifiëren' is ingeschakeld. (Zie 'Toegangsrechten configureren' voor instructies.)

Om de LDAP-client te verbinden met de beveiligde LDAP-service:

  1. Configureer uw LDAP-client met Cloud Directory als uw LDAP-server.
  2. Upload het certificaat naar uw LDAP-client.

    De beveiligde LDAP-service gebruikt TLS-clientcertificaten als primair authenticatiemechanisme. Om het certificaat naar de LDAP-client te uploaden, opent u de authenticatie- of directory-instellingen van de LDAP-client en voert u de gegevens uit de onderstaande tabel in.

    Let op: Raadpleeg de documentatie van uw leverancier voor volledige details over hoe en waar u TLS-certificaten kunt uploaden.

Gebruik de volgende tabel voor basisinformatie over de verbinding:

Hostnaam

ldap.google.com

Havens

389 voor LDAP met StartTLS ingeschakeld
636 voor LDAPS (SSL/TLS ingeschakeld)

Basis-DN

Uw domein in DN-formaat. Bijvoorbeeld:

dc=example,dc=com voor bijvoorbeeld example.com

Gebruikersnaam en wachtwoord

Naast authenticatie met een certificaat vereisen sommige LDAP-clients dat u een gebruikersnaam en wachtwoord invoert. Als de velden voor gebruikersnaam en wachtwoord niet verplicht zijn, kunt u deze stap overslaan.

Genereer een gebruikersnaam en wachtwoord in de Google Admin-console. Zie Toegangsgegevens genereren voor instructies.

Clientcertificaat- en sleutelbestanden

Gebruik het certificaat- en sleutelbestand dat u hebt gedownload van de Google Admin-console. Als de LDAP-client geen mogelijkheid biedt om te authenticeren met een clientcertificaat, raadpleeg dan 'Stunnel gebruiken als proxy' .

BELANGRIJK: Sommige LDAP-clients, zoals Apache Directory Studio, ondersteunen het uploaden van digitale certificaten niet. Zie ' Stunnel gebruiken als proxy' voor meer informatie over dit probleem.

Configuratie-instructies voor specifieke LDAP-clients

ADSI Edit (Windows)

Volg deze stappen:

  1. Volg de stappen 1-11 in ldp.exe (Windows) om de clientcertificaten te installeren.
  2. Ga naar Actie > Verbinden met…
  3. Voer de volgende verbindingsinstellingen in:

    Naam: Voer een naam in voor uw verbinding, bijvoorbeeld Google LDAP .
    Verbindingspunt: "Selecteer of typ een onderscheidende naam of naamgevingscontext"
    Voer uw domeinnaam in DN-formaat in (bijvoorbeeld dc=example,dc=com voor example.com ).

    Computer: "Selecteer of typ een domein of server"
    ldap.google.com

    SSL-gebaseerde versleuteling gebruiken: aangevinkt
  4. Klik op Geavanceerd... en voer de volgende gegevens in:

    Geef inloggegevens op: Aangevinkt
    Gebruikersnaam: De gebruikersnaam voor toegang vanuit de beheerdersconsole
    Wachtwoord: Het toegangswachtwoord van de beheerdersconsole
    Poortnummer: 636
    Protocol: LDAP
    Eenvoudige bind-authenticatie: gecontroleerd
  5. Klik op OK en vervolgens nogmaals op OK .
  6. Als de verbinding succesvol is, worden de Active Directory-gegevens in de basis-DN in het rechterdeelvenster weergegeven.

Apache Directory Studio

Om Apache Directory Studio te gebruiken, maakt u verbinding via stunnel en gebruikt u de toegangsgegevens (gebruikersnaam en wachtwoord) die zijn gegenereerd in de Google Admin-console. Ervan uitgaande dat de inloggegevens aanwezig zijn en dat stunnel luistert op localhost poort 1389, volgt u deze stappen:

  1. Klik op Bestand > Nieuw…
  2. Selecteer LDAP-browser > LDAP-verbinding .
  3. Klik op Volgende .
  4. Voer de verbindingsparameters in:

    Verbindingsnaam: Kies een naam, bijvoorbeeld Google LDAP.
    Hostnaam: localhost
    Poort: 1389 (of de stunnel luister-/acceptatiepoort)
    Versleutelingsmethode: Geen versleuteling (Opmerking: Als stunnel op afstand draait, wordt versleuteling tussen stunnel en de client aanbevolen.)
  5. Klik op Volgende .
  6. Voer de authenticatieparameters in:

    Authenticatiemethode: Eenvoudige authenticatie
    Bind DN of gebruiker: De gebruikersnaam van de toegangsgegevens uit de beheerdersconsole
    Bind-wachtwoord: Het toegangswachtwoord van de beheerdersconsole
  7. Klik op Volgende .
  8. Voer de basis-DN in.
    Dit is uw domeinnaam in DN-formaat ( dc=example,dc=com voor bijvoorbeeld example.com ).
  9. Klik op Voltooien .

Atlassian Jira

Atlassian Jira voert een gebruikersopzoeking uit om meer informatie over een gebruiker te verkrijgen tijdens de gebruikersverificatie. Om ervoor te zorgen dat de gebruikersverificatie correct werkt voor deze LDAP-client, moet u 'Gebruikersinformatie lezen' en 'Groepsinformatie lezen' inschakelen voor alle organisatie-eenheden waar 'Gebruikersgegevens verifiëren' is ingeschakeld. (Zie 'Toegangsrechten configureren' voor instructies.)

Belangrijk: Het gebruik van de volgende instructies kan ertoe leiden dat het keystorePassword toegankelijk wordt voor gebruikers en logbestanden. Neem voorzorgsmaatregelen om ongeautoriseerde toegang tot de lokale shell, het logbestand en de Google Admin-console te voorkomen. Als alternatief voor de volgende instructies kunt u de stunnel4-methode gebruiken (zie Optioneel: stunnel gebruiken als proxy ).

Opmerking: De volgende instructies gaan ervan uit dat Jira is geïnstalleerd op /opt/atlassian/jira .

Om een ​​Atlassian Jira-client te verbinden met de beveiligde LDAP-service:

  1. Kopieer het certificaat en de sleutel naar uw Jira-server(s). (Dit is het certificaat dat wordt gegenereerd in de Google Admin-console tijdens het toevoegen van de LDAP-client aan de beveiligde LDAP-service.)

    Bijvoorbeeld:
    $ scp ldap-client.key user@jira-server:
  2. Converteer het certificaat en de sleutels naar het Java-keystoreformaat. Tijdens dit proces wordt u gevraagd om wachtwoorden in te voeren. Kies voor de eenvoud een veilig wachtwoord en gebruik hetzelfde wachtwoord voor alle prompts.

    $ 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. Configureer Jira om de zojuist aangemaakte keystore te gebruiken. Volg de instructies hier om opties toe te voegen:

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

    Op Linux:
    1. Bewerk /opt/atlassian/jira/bin/setenv.sh .
    2. Zoek de instelling JVM_SUPPORT_RECOMMENDED_ARGS.
    3. Voeg "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password" toe en vervang "password" door het wachtwoord dat u hierboven hebt geselecteerd.
  4. Jira opnieuw opstarten.

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

  5. Meld u aan bij de Jira-webinterface als beheerder.
    1. Ga naar Instellingen > Gebruikersbeheer. (Voor de instellingen ga je naar het tandwielpictogram rechtsboven.)
    2. Klik op Gebruikersmappen .
    3. Klik op Map toevoegen.
    4. Kies LDAP als type.
    5. Klik op Volgende .
  6. Voer het volgende in:

    Naam

    Google Secure LDAP

    Maptype

    OpenLDAP

    Hostnaam

    ldap.google.com

    Haven

    636

    Gebruik SSL

    Gecontroleerd

    Gebruikersnaam

    Genereer een gebruikersnaam en wachtwoord in de Google Admin-console. Zie Toegangsgegevens genereren voor instructies.

    Wachtwoord

    Genereer een gebruikersnaam en wachtwoord in de Google Admin-console. Zie Toegangsgegevens genereren voor instructies.

    Basis-DN

    Uw domeinnaam in DN-formaat. (bijvoorbeeld dc=example,dc=com voor example.com )

    Extra gebruikers-DN

    Optioneel. "ou=Gebruikers"

    Aanvullende groep DN

    Optioneel. "ou=Groups"

    LDAP-machtigingen

    Alleen-lezen

    Geavanceerde instellingen

    Onveranderd

    Gebruikersschema-instellingen >
    Gebruikersnaamkenmerk

    googleUid

    Gebruikersschema-instellingen >
    Gebruikersnaam RDN-attribuut

    uid

    Groepsschema-instellingen >
    Groepsobjectklasse

    groepNamen

    Groepsschema-instellingen >
    Groepsobjectfilter

    (objectClass=groupOfNames)

    Instellingen voor lidmaatschapsschema's >
    Attribuut van groepsleden

    lid

    Instellingen voor lidmaatschapsschema's >
    Gebruik het gebruikerslidmaatschapskenmerk

    Gecontroleerd
  7. Wijs een rol toe aan een groep.

    Voordat een gebruiker kan inloggen bij Atlassian Jira, moet die gebruiker lid zijn van een groep die toegang heeft tot Jira.

    Een rol toekennen aan een groep:
    1. Ga naar Instellingen > Toepassingen > Toegang tot toepassingen .
    2. Voer in het tekstvak 'Selecteer groep' de naam in van de Google-groep waaraan u toegang tot Jira wilt verlenen.

CloudBees Core / Jenkins

Zie Configure CloudBees Core with Google's Cloud Identity Secure LDAP voor instructies over het verbinden van CloudBees Core met de Secure LDAP-service.

FreeRadius

Volg deze stappen:

  1. Installeer en configureer FreeRADIUS op /etc/freeradius/3.0/ .

    Nadat FreeRADIUS is geïnstalleerd, kunt u de LDAP-configuratie toevoegen door de freeradius-ldap -plugin te installeren.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Kopieer de LDAP-clientsleutel en het certificaatbestand naar respectievelijk /etc/freeradius/3.0/certs/ldap-client.key en /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. Schakel de LDAP-module in.

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

  4. Bewerk /etc/freeradius/3.0/mods-available/ldap .
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identiteit = gebruikersnaam uit de applicatiegegevens
    3. wachtwoord = wachtwoord uit de applicatiegegevens
    4. base_dn = 'dc=domain,dc=com'
    5. tls->start_tls = nee
    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. Zet alle velden in het breadcrumb die het gedeelte 'ldap -> post-auth -> update' vertegenwoordigen, in commentaar.
  5. Bewerk /etc/freeradius/3.0/sites-available/default .
    Dit wijzigt de FreeRadius-clientverbinding. Als u niet de standaardclient gebruikt, zorg er dan voor dat u de relevante client (inner-tunnel of een aangepaste client) die u hebt geconfigureerd, bijwerkt.
    1. Wijzig het autorisatiegedeelte door het volgende blok onderaan toe te voegen , na de instructie over het wachtwoordauthenticatieprotocol (PAP) :

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

    2. In het autorisatiegedeelte schakelt u LDAP in door het minteken (-) ervoor te verwijderen.

      #
      # De ldap-module leest wachtwoorden uit de LDAP-database.
      ldap
    3. Wijzig het authenticatiegedeelte door het Auth-Type LDAP- blok als volgt aan te passen:

      # Auth-Type LDAP {
      ldap
      # }

    4. Wijzig het authenticatiegedeelte door het Auth-Type PAP- blok als volgt aan te passen:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Zie Configureer Google Secure LDAP voor GitLab voor instructies over het verbinden van GitLab met de Secure LDAP-service.

Itopia/Ubuntu

Zie voor instructies over het verbinden van Itopia/Ubuntu met de Secure LDAP-service de handleiding 'Google Cloud Identity LDAP configureren op Ubuntu 16.04 voor gebruikersaanmeldingen' .

Ivanti / LanDesk

Volg deze stappen:

  1. Open op uw Ivanti-webserver het bestand OpenLDAPAuthenticationConfiguration.xml of OpenLDAPSSLAuthenticationConfiguration.xml in een teksteditor in een van de volgende mappen:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework en C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (waarbij servicedesk de instantienaam is)
  2. Wijzig de waarde van <Server> naar ldap.google.com .
  3. Wijzig de waarde van <Port> naar poort 3268 voor onversleutelde tekst met StartTLS ingeschakeld en naar 3269 voor SSL/TLS-poort (de standaardwaarden zijn 389 voor de onversleutelde tekstpoort of 636 voor de SSL/TLS-poort).
  4. Stel de waarde van <TestDN> in op uw domeinnaam in DN-formaat. (bijvoorbeeld dc=example,dc=com voor example.com ).
  5. Voeg aan zowel ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config als ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config de volgende regel toe:

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

    of de regel:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
  6. Open in het Ivanti Configuration Center de gewenste instantie.
  7. Klik naast de Service Desk Framework -applicatie op Bewerken .
    Het dialoogvenster 'Applicatie bewerken' voor het Service Desk Framework verschijnt.
  8. In de groep Configuratieparameters selecteert u Alleen expliciet in de lijst Aanmeldingsbeleid en klikt u vervolgens op OK .
  9. Klik naast de toepassing Webtoegang op Bewerken .
    Het dialoogvenster 'Toepassing bewerken' voor Web Access verschijnt.
  10. In de groep Configuratieparameters selecteert u 'Alleen expliciet' in de lijst Aanmeldingsbeleid en klikt u vervolgens op OK .

Gebruik bij het inloggen het netwerkwachtwoord van de bijbehorende domeingebruiker.

Uitzonderingsregistratie voor LDAP-serverauthenticatie

Als u problemen ondervindt bij het configureren van LDAP-serververificatie, kunt u het loggen van uitzonderingen inschakelen om het probleem te identificeren. Standaard is dit uitgeschakeld en we raden u aan het loggen van uitzonderingen weer uit te schakelen zodra u uw onderzoek hebt afgerond.

Om het loggen van uitzonderingen voor LDAP-serververificatie in te schakelen:

  1. Open het betreffende XML-bestand met authenticatieconfiguratie in een teksteditor:

    DirectoryServiceAuthenticationConfiguration.xml , OpenLDAPAuthenticationConfiguration.xml of OpenLDAPSSLAuthenticationConfiguration.xml
  2. Wijzig de regel:

    <ShowExceptions>false</ShowExceptions>
    naar
    <ShowExceptions>true</ShowExceptions>
  3. Sla de wijzigingen op.

Ldp.exe (Windows)

Volg deze stappen:

  1. Converteer de certificaat- en sleutelbestanden naar één PKCS12-bestand. Voer in een opdrachtprompt het volgende in:

    Gebruik de volgende commando's als je macOS of Linux gebruikt:

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

    Voer een wachtwoord in om het uitvoerbestand te versleutelen.

    Als u Windows gebruikt, kunt u de volgende opdrachten gebruiken:

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

    Belangrijk: De twee bestanden ( <CERT_FILE>.crt en <CERT_FILE>.key ) moeten zich in dezelfde map bevinden. Zorg er ook voor dat zowel key als crt dezelfde naam hebben (maar met een andere extensie). In dit voorbeeld gebruiken we de namen ldap-client.crt en ldap-client.key .

  2. Ga naar het Configuratiescherm.
  3. Typ in het zoekvak 'certificaat' en klik op 'Gebruikerscertificaten beheren '.
  4. Ga naar Actie > Alle taken > Importeren…
  5. Selecteer Huidige gebruiker en klik op Volgende .
  6. Klik op Bladeren…
  7. Selecteer in het keuzemenu voor bestandstypen in de rechterbenedenhoek van het dialoogvenster ' Persoonlijke informatie-uitwisseling (*.pfx;*.p12)' .
  8. Selecteer het bestand ldap-client.p12 uit stap 2, klik op Openen en vervolgens op Volgende .
  9. Voer het wachtwoord uit stap 2 in en klik op Volgende .
  10. Selecteer de persoonlijke certificatenopslag, klik op Volgende en vervolgens op Voltooien .
  11. Start Ldp.exe .
  12. Ga naar Verbinding > Verbinden...
  13. Voer de volgende verbindingsgegevens in:

    Server: ldap.google.com
    Poort: 636
    Verbindingsloos: Niet gecontroleerd
    SSL: Gecontroleerd
  14. Klik op OK .
  15. Ga naar Weergave > Boomstructuur .
  16. Voer de basis-DN in. Dit is uw domeinnaam in DN-formaat. (bijvoorbeeld dc=example,dc=com voor example.com ).
  17. Klik op OK .
  18. Als de verbinding tot stand is gebracht, toont LDP.exe de inhoud van Active Directory, zoals alle kenmerken die aanwezig zijn in de basis-DN, in het rechterdeelvenster.

Netgate / pfSense

Zie 'Google Cloud Identity configureren als authenticatiebron' voor instructies over het verbinden van Netgate/pfSense met de Secure LDAP-service.

OpenLDAP / ldapsearch (Linux)

Om toegang te krijgen tot uw LDAP-directory vanaf de commandoregel, kunt u de OpenLDAP ldapsearch -opdracht gebruiken.

Ervan uitgaande dat uw clientcertificaat- en sleutelbestanden ldap-client.crt en ldap-client.key heten, Je domein is example.com en je gebruikersnaam is jsmith .

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

Hiermee worden de relevante omgevingsvariabelen ingesteld om naar de client-sleutels te verwijzen. U kunt de andere ldapsearch-opties vervangen door uw gewenste filters, gevraagde attributen, enzovoort. Zie voor meer informatie de man-pagina's van ldapsearch ("man ldapsearch").

ldapsearch (macOS)

Volg deze stappen:

  1. Converteer de certificaat- en sleutelbestanden naar één PKCS12-bestand. Voer in een opdrachtprompt het volgende in:

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

    Voer uw wachtwoord in om het uitvoerbestand te versleutelen.
  2. Klik In de rechterbovenhoek van de menubalk typt u 'Sleutelhangertoegang' .
  3. Open de app Sleutelhangertoegang en klik in de lijst aan de linkerkant op Systeem .
  4. Klik op de optie 'Bestand' in de menubalk linksboven en selecteer 'Items importeren' .
  5. Navigeer naar de locatie waar het gegenereerde ldap-client.p12-bestand zich bevindt, selecteer ldap-client.p12 en klik op Openen .
    Voer, indien gevraagd, uw wachtwoord in.
    In de lijst met systeemcertificaten zou nu een certificaat met de naam LDAP Client moeten verschijnen.
  6. Klik op de pijl naast het LDAP-clientcertificaat. Daaronder verschijnt een privésleutel.
    1. Dubbelklik op de privésleutel.
    2. Selecteer in het dialoogvenster het tabblad Toegangsbeheer en klik op het plusteken (+) in de linkerbenedenhoek.
    3. Typ in het venster dat verschijnt Command+Shift+G om een ​​nieuw venster te openen en vervang vervolgens de bestaande tekst door /usr/bin/ldapsearch .

    4. Klik op Start .

      Hierdoor wordt een venster geopend waarin ldapsearch is gemarkeerd.

    5. Klik op Toevoegen .

    6. Klik op Wijzigingen opslaan en voer uw wachtwoord in als daarom wordt gevraagd.

      Je bent nu klaar om je LDAP-directory te openen vanaf de commandoregel met behulp van de OpenLDAP ldapsearch-opdracht.

  7. Ervan uitgaande dat het bestand ldap-client.p12 dat u eerder in de sleutelbos hebt geïmporteerd de naam LDAP Client heeft, uw domein example.com is en de gebruikersnaam jsmith , voert u het volgende in:

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

Hiermee worden de relevante omgevingsvariabelen ingesteld om naar het geïmporteerde clientcertificaat te verwijzen. U kunt de andere ldapsearch-opties vervangen door uw gewenste filters, gevraagde attributen, enzovoort. Zie de man-pagina's van ldapsearch voor meer informatie ( man ldapsearch ).

OpenVPN (community-versie)

Volg deze stappen:

  1. Installeer en configureer OpenVPN indien nodig, of open de instellingenpagina van OpenVPN als je dat al hebt gedaan.

    Algemene VPN-configuratie valt buiten het bestek van dit helpartikel. Zodra een VPN is geconfigureerd, kunt u gebruikersauthenticatie en -autorisatie via LDAP toevoegen. Hiervoor moet u met name de plugin openvpn-auth-ldap installeren.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Kopieer de LDAP-clientsleutel en het certificaatbestand naar /etc/openvpn/ldap-client.key en /etc/openvpn/ldap-client.crt .
  3. Maak een bestand aan met de naam /etc/openvpn/auth-ldap.conf , met de volgende inhoud (ervan uitgaande dat example.com de domeinnaam is):

    <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. Bewerk het OpenVPN-configuratiebestand, vaak genaamd /etc/openvpn/server.conf of iets dergelijks. Voeg onderaan het bestand het volgende toe:

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

  5. Herstart de OpenVPN-server.

    $ sudo systemctl restart openvpn@server
  6. Configureer de VPN-clients om de gebruikersnamen en wachtwoorden van de gebruikers te gebruiken. Voeg bijvoorbeeld in een OpenVPN-clientconfiguratie 'auth-user-pass' toe aan het einde van het OpenVPN-clientconfiguratiebestand en start de OpenVPN-client:

    $ openvpn --config /path/to/client.conf
  7. Volg de instructies voor het gebruik van stunnel als proxy .

OpenVPN Access Server (commerciële versie)

Zie 'Google Secure LDAP configureren met OpenVPN Access Server' voor instructies over het verbinden van OpenVPN Access Server met de Secure LDAP-service.

PaperCut MF en NG

Zie voor instructies over het verbinden van PaperCut met de beveiligde LDAP-service Hoe u Google Workspace- en Google Cloud Identity-gebruikers in PaperCut synchroniseert en authenticeert .

Marionettenonderneming

Zie Google Cloud Directory voor PE voor instructies over het verbinden van Puppet Enterprise met de Secure LDAP-service.

Softerra LDAP-browser

Belangrijk: Zorg er voordat u begint voor dat u Softerra LDAP Browser versie 4.5 (4.5.19808.0) of later hebt geïnstalleerd. Zie LDAP Browser 4.5 .

Volg deze stappen:

  1. Converteer de certificaat- en sleutelbestanden naar één PKCS12-bestand. Voer in een opdrachtprompt het volgende in:

    Gebruik de volgende commando's als je macOS of Linux gebruikt:

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

    Voer een wachtwoord in om het uitvoerbestand te versleutelen.

    Als u Windows gebruikt, kunt u de volgende opdrachten gebruiken:

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

    Belangrijk: De twee bestanden ( <CERT_FILE>.crt en <CERT_FILE>.key ) moeten zich in dezelfde map bevinden. Zorg er ook voor dat zowel key als crt dezelfde naam hebben (maar met een andere extensie). In dit voorbeeld gebruiken we de namen ldap-client.crt en ldap-client.key .

  2. Installeer het sleutelpaar in de Softerra LDAP Browser.
    1. Ga naar Extra > Certificaatbeheer .
    2. Klik op Importeren…
    3. Klik op Volgende .
    4. Klik op Bladeren…
    5. Selecteer in de vervolgkeuzelijst 'Bestandstype ' in de rechterbenedenhoek van het dialoogvenster ' Persoonlijke informatie-uitwisseling (*.pfx;*.p12)' .
    6. Selecteer het bestand ldap-client.p12 uit stap 2 hierboven.
    7. Klik op Openen en vervolgens op Volgende .
    8. Voer het wachtwoord uit stap 2 hierboven in en klik op Volgende .
    9. Selecteer de persoonlijke certificatenopslag.
    10. Klik op Volgende .
    11. Klik op Voltooien .
  3. Voeg een serverprofiel toe.
    1. Ga naar Bestand > Nieuw > Nieuw profiel…
    2. Geef het profiel een naam, bijvoorbeeld Google LDAP .
    3. Klik op Volgende .

      Voer het volgende in:

      Host: ldap.google.com
      Poort:
      636
      Basis-DN: Uw domeinnaam in DN-formaat. (bijv. dc=example,dc=com voor example.com)
      Gebruik een beveiligde verbinding (SSL): Aangevinkt
    4. Klik op Volgende .
    5. Selecteer Extern (SSL-certificaat) .
    6. Klik op Volgende .
    7. Klik op Voltooien .

Sophos Mobiel

Zie Verbinding maken met Google Cloud Identity / Google Cloud Directory via Secure LDAP voor instructies over het verbinden van Sophos Mobile met de Secure LDAP-service.

Splunk

Wanneer u Splunk verbindt met de Secure LDAP-service, zorg er dan voor dat u Splunk versie 8.1.4 of hoger gebruikt. Bij gebruik van oudere Splunk-versies, zoals Splunk versie 8.1.3, kunnen er te veel LDAP-query's naar de LDAP-server worden verzonden, waardoor uw LDAP-quotum snel kan worden overschreden. Zie de pagina met bekende problemen van Splunk voor meer informatie over problemen met Splunk versie 8.1.3.

Volg deze stappen:

  1. Kopieer de LDAP-clientsleutel en certificaatbestanden naar /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key en /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. Bewerk het bestand ldap.conf en voeg de volgende configuraties toe:

    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. Voeg de volgende configuraties toe aan het bestand /home/splunkadmin/.ldaprc van de gebruiker:

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

  4. Voeg de LDAP-strategie toe via de Splunk-webinterface. Voer de volgende gegevens in en klik vervolgens op Opslaan :

Naam

Google Secure LDAP

Gastheer

ldap.google.com

Haven

636

SSL ingeschakeld

Gecontroleerd

Aansluitvolgorde

1

Bind DN

Voer de inloggegevens in die u in de Google Admin-console hebt gegenereerd.

Bind DN-wachtwoord

Voer de inloggegevens in die u in de Google Admin-console hebt gegenereerd.

Basis-DN

Uw domeinnaam in DN-formaat (bijvoorbeeld dc=example,dc=com voor het domein example.com ).

Gebruikersbasisfilter

Voer het gebruikersfilter in voor de objectklasse waarop u uw gebruikers wilt filteren.

Gebruikersnaamkenmerk

uid

Kenmerk van de echte naam

weergavenaam

E-mailkenmerk

mail

Groepstoewijzingskenmerk

dn

Groepsbasis DN

Uw domeinnaam in DN-formaat (bijvoorbeeld ou=Groups,dc=example,dc=com voor het domein example.com ).

Statisch groepszoekfilter

Voer het zoekfilter voor statische groepen in voor de objectklasse waarop u uw statische groepen wilt filteren.

Groepsnaamkenmerk

cn

Statisch lidkenmerk

lid

SSSD (Red Hat Enterprise en CentOS)

SSSD voert een gebruikersopzoeking uit om meer informatie over een gebruiker te verkrijgen tijdens de gebruikersverificatie. Om ervoor te zorgen dat de gebruikersverificatie correct werkt voor deze LDAP-client, moet u 'Gebruikersinformatie lezen' en 'Groepsinformatie lezen' inschakelen voor alle organisatie-eenheden waar 'Gebruikersgegevens verifiëren' is ingeschakeld. (Zie 'Toegangsrechten configureren' voor instructies.)

Om een ​​SSSD-client op Red Hat 8 of CentOS 8 te verbinden met de Secure LDAP-service:

  1. Voeg de SSSD-client toe aan de beveiligde LDAP-service:
    1. Ga vanuit de Google Admin-console naar Apps > LDAP > CLIENT TOEVOEGEN .
      Zorg ervoor dat u inlogt met uw zakelijke account en niet met uw persoonlijke Gmail-account.
    2. Vul de klantgegevens in en klik op DOORGAAN .
    3. Configureer de toegangsrechten :
      Gebruikersgegevens verifiëren - Volledig domein
      Lees gebruikersinformatie—Hele domein
      Lees groepsinformatie — Aan
    4. Klik op LDAP-CLIENT TOEVOEGEN .
    5. Download het gegenereerde certificaat.
    6. Klik op DOORGAAN NAAR KLANTGEGEVENS .
    7. Wijzig de servicestatus naar AAN .
  2. Installeer de benodigde afhankelijkheden:

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


    Pak het certificaatbestand (.zip) uit en kopieer de bestanden .crt en .key naar /etc/sssd/ldap
  3. (Optioneel) Testen met 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


    Voer het Google-wachtwoord van de gebruiker in wanneer daarom wordt gevraagd.

    Let op: de gebruiker moet beschikken over een Google Workspace Enterprise- of Cloud Identity Premium-licentie.

  4. Maak het bestand /etc/sssd/sssd.conf aan met de volgende inhoud:

    [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. Werk de machtigingen en SELinux-labels bij:

    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 opnieuw opstarten:

    systemctl restart sssd
  7. Test:

    SSH-verbinding met de server:

    ssh -l user@example.com {HOSTNAME}

Probleemoplossing

  1. Controleer de SSSD-versie (deze moet groter of gelijk zijn aan 1.15.2):

    # sssd --version
    2.2.3

  2. Op RHEL/CentOS (of elke distributie met SELinux-handhaving) moeten de SSSD-configuratiebestanden, het certificaatbestand en de sleutel zich in een map bevinden die toegankelijk is voor de rol sssd_conf_t:

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

    Controleer het bestand /var/log/audit/audit.log op berichten over AVC-weigering.

  3. Controleer of /etc/nsswitch.conf "sss" bevat voor de entiteiten passwd, shadow, group en netgroup:

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


    Hier hebben lokale bestanden voorrang op LDAP-gebruikers.
  4. Controleer /var/log/sssd.conf op configuratiefouten:

    Voorbeeld:
    [sssd] [sss_ini_add_snippets] (0x0020): Fout bij het samenvoegen van configuratiebestanden: Bestand /etc/sssd/sssd.conf is niet goedgekeurd tijdens de toegangscontrole. Overslaan.

    Actie: Je moet het .conf-bestand de rechten 600 geven met chmod.

    Voorbeeld:
    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribuut 'ldap_groups_use_matching_rule_in_chain' is niet toegestaan ​​in sectie 'domain/{DOMAIN}'. Controleer op typefouten.

    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribuut 'ldap_initgroups_use_matching_rule_in_chain' is niet toegestaan ​​in sectie 'domain/{DOMAIN}'. Controleer op typefouten.

    Actie: Verwijder de niet-ondersteunde LDAP-extensies voor groepsmatching uit sssd.conf.

  5. Controleer /var/log/sssd_{DOMAIN}.log op LDAP-/netwerk-/authenticatie-fouten.

    Voorbeeld:

    [sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls mislukt: [Verbindingsfout] [fout:1416F086:SSL-routines:tls_process_server_certificate:certificaatverificatie mislukt (zelfondertekend certificaat)]

    Actie: Je moet "ldap_tls_reqcert = never" toevoegen aan sssd.conf.

    Om de foutmeldingen gedetailleerder weer te geven, voeg je "debug_level = 9" toe aan sssd.conf onder de sectie domain en herstart je sssd.

SSSD (andere Linux-distributies)

SSSD voert een gebruikersopzoeking uit om meer informatie over een gebruiker te verkrijgen tijdens de gebruikersverificatie. Om ervoor te zorgen dat de gebruikersverificatie correct werkt voor deze LDAP-client, moet u 'Gebruikersinformatie lezen' en 'Groepsinformatie lezen' inschakelen voor alle organisatie-eenheden waar 'Gebruikersgegevens verifiëren' is ingeschakeld. (Zie 'Toegangsrechten configureren' voor instructies.)

Om een ​​SSSD-client te verbinden met de beveiligde LDAP-service:

  1. Installeer SSSD-versie >= 1.15.2.

    $ sudo apt-get install sssd
  2. Ervan uitgaande dat uw clientcertificaat- en sleutelbestanden /var/ldap-client.crt en /var/ldap-client.key heten en uw domein example.com is, bewerk dan /etc/sssd/sssd.conf met een configuratie zoals:


    [sssd]
    diensten = nss, pam
    domeinen = voorbeeld.com

    [domein/ voorbeeld.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. Wijzig het eigenaarschap en de machtigingen van het configuratiebestand:

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

  4. SSSD opnieuw opstarten:

    $ sudo service sssd restart

Tip: Als u de SSSD-module gebruikt op Linux-computers zonder externe IP-adressen op Google Compute Engine, kunt u nog steeds verbinding maken met de beveiligde LDAP-service, zolang u interne toegang tot Google-services hebt ingeschakeld. Zie ' Privétoegang tot Google configureren' voor meer informatie.

macOS

Volg de onderstaande stappen om de macOS-client te verbinden voor gebruikersaccountverificatie met behulp van de Secure LDAP-service.

Systeemvereisten

  • Het macOS moet versie Catalina 10.15.4 of later zijn.
  • Voor het voltooien van stap 1 in de voorbereidingsfase is een Google superbeheerder-gebruikers-ID vereist.
  • Voor deze configuratie hebt u lokale beheerdersrechten nodig.

Inhoud:

Voorbereidingsfase

De instructies in dit gedeelte gaan over het handmatig instellen en testen van macOS-authenticatie met behulp van de Secure LDAP-service.

Stap 1: macOS toevoegen als LDAP-client in de Google Admin-console

Zie LDAP-clients toevoegen voor instructies, of bekijk deze demonstratie van Secure LDAP . Tijdens dit proces downloadt u ook een automatisch gegenereerd TLS-clientcertificaat.

Stap 2: Importeer het certificaat in de systeem-sleutelbos

  1. Kopieer het certificaat (het zipbestand dat u in stap 1 hebt gedownload) en de sleutel naar de macOS-computer.
    Tip: Pak het bestand uit om de certificaat- en sleutelbestanden te vinden.
  2. Importeer het sleutelpaar in de systeemsleutelbos:
    1. Converteer de sleutel en het certificaat naar een PKCS 12 (p12)-bestand. Voer de volgende opdracht uit in de terminal:

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

      Tip: Noteer de naam van het .p12-bestand.

      Het systeem zal u vragen een wachtwoord in te voeren. Voer een wachtwoord in waarmee het p12-bestand wordt versleuteld.

    2. Open de app Sleutelhangertoegang .

    3. Klik op de systeem -sleutelbos.

    4. Klik op Bestand > Items importeren .

    5. Selecteer het hierboven aangemaakte bestand ldap-client.p12 .

    6. Voer, indien gevraagd, het beheerderswachtwoord in om wijzigingen aan de systeem-sleutelbos toe te staan.

    7. Voer het hierboven aangemaakte wachtwoord in om het .p12-bestand te decoderen.

      Let op: er verschijnt een nieuw certificaat en de bijbehorende privésleutel in de lijst met sleutels. Deze kan de naam 'LDAP Client' hebben. Noteer de naam van het certificaat voor de volgende stap.
    8. Volg stap 6 in het gedeelte 'ldapsearch (macOS)' in dit artikel om toegangsbeheer in te stellen voor de privésleutel, zodat u de hieronder vermelde apps kunt toevoegen. Als de privésleutel niet wordt weergegeven onder de categorie ' Alle items' , probeer dan over te schakelen naar de categorie 'Mijn certificaten' en zoek de juiste privésleutel door het bijbehorende certificaat uit te vouwen.

      De ldapsearch-app is, zoals in de instructies staat vermeld, alleen relevant voor het oplossen van problemen en niet voor andere doeleinden. Deze wordt doorgaans verwijderd voordat gebruikers toegang krijgen tot macOS.

      De volgende drie apps moeten aan de toegangsbeheerlijst worden toegevoegd:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Voeg een regel toe aan het bestand /etc/openldap/ldap.conf en zorg ervoor dat "LDAP Client" exact dezelfde certificaatnaam heeft als die wordt weergegeven in de macOS Sleutelhangertoegang-app na het importeren van het .p12-bestand (de naam is afkomstig van de X.509 Subject Common Name van het gegenereerde certificaat):

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

Stap 3: Stel het apparaat in op de Google-directory voor authenticatie.

Open de Directory Utility- applicatie om een ​​nieuw LDAP-directoryknooppunt aan te maken:

  1. Klik op het slotje om wijzigingen aan te brengen en voer je wachtwoord in.
  2. Selecteer LDAPv3 en klik op het potloodpictogram om de instellingen te bewerken.
  3. Klik op Nieuw…
  4. Voer bij de servernaam ldap.google.com in, selecteer 'Versleutelen met SSL' en klik op ' Handmatig '.
  5. Selecteer de nieuwe servernaam en klik op Bewerken…
  6. Voer een beschrijvende naam in, bijvoorbeeld 'Google Secure LDAP', als configuratienaam.
  7. Selecteer 'Versleutelen met SSL' en zorg ervoor dat de poort is ingesteld op 636 .
  8. Ga naar het tabblad Zoeken en kaarten .
    1. Selecteer RFC2307 in de vervolgkeuzelijst 'Toegang tot deze LDAPv3-server via' .
    2. Voer, wanneer daarom wordt gevraagd, de domeingerelateerde informatie in bij 'Zoekbasisachtervoegsel' . Voer bijvoorbeeld dc=zomato,dc=com in voor een domeinnaam zoals zomato.com .
    3. Klik op OK .
    4. Configureer attributen onder het recordtype Gebruikers :
      1. In het gedeelte 'Recordtypen en -kenmerken' selecteert u 'Gebruikers ' en klikt u op de knop ' + '.
      2. Kies in het pop-upvenster ' Attribuuttypen', selecteer 'GeneratedUID' en klik vervolgens op 'OK' om het pop-upvenster te sluiten.

        GeneratedUID moet onder Gebruikers worden weergegeven nadat dit is uitgevouwen.
      3. Klik op GeneratedUID en klik vervolgens op het " + " pictogram in het vak aan de rechterkant.
      4. Voer apple-generateduid in het tekstvak in en klik op Enter .
      5. Klik onder het knooppunt Gebruikers op het kenmerk NFSHomeDirectory .
      6. Werk in het scherm aan de rechterkant de waarde voor dit attribuut bij naar #/Users/$uid$
      7. Klik op OK en voer uw wachtwoord in om de wijzigingen op te slaan.
  9. Configureer de nieuwe LDAP-configuratie vanuit het venster Directory Utility :
    1. Ga naar het tabblad Zoekbeleid .
    2. Klik op het slotpictogram om wijzigingen aan te brengen en voer het wachtwoord van de huidige gebruiker in wanneer daarom wordt gevraagd.
    3. Wijzig de optie in het keuzemenu van 'Zoekpad' naar 'Aangepast pad' .
    4. Open het tabblad 'Authenticatie' en klik op het ' + ' pictogram.
    5. Selecteer /LDAPv3/ldap.google.com in de lijst met directorydomeinen en klik vervolgens op Toevoegen .
    6. Klik op de knop 'Toepassen' en voer uw beheerderswachtwoord in als daarom wordt gevraagd.
  10. Voer de volgende vier opdrachten uit om de DIGEST-MD5-, CRAM-MD5-, NTLM- en GSSAPI SASL-authenticatiemechanismen uit te schakelen. macOS zal Simple Bind gebruiken voor authenticatie via de beveiligde LDAP-service van Google:

    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. Start de computer opnieuw op om de OpenDirectory-configuratie te herladen.

Stap 4: Maak een mobiel account aan (hiermee kunt u offline inloggen).

Any Google Workspace or Cloud Identity user can log in using a network account (Google account) using their username and password. This login process needs network connectivity. If a user needs to log in with or without connection to the network, a mobile account can be created. A mobile account lets you use your network account (Google account) username and password to sign in, whether or not you're connected to the network. For more details, see Create and configure mobile accounts on Mac .

To create a mobile account for Secure LDAP users:

  1. Run the following command to connect to the Secure LDAP server and set up a home path and mobile account(s):

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

    Tip: Replace $uid with the username part of the email address associated with the user's Google account. For example, jsmith is the username part for jsmith@solarmora.com .

  2. When prompted for the SecureToken admin user name , enter your admin username, and enter your password in the next prompt. This will add $uid into the FileVault. This is needed if the macOS disk is encrypted.

Step 5: (Optional) Set the login screen preference

  1. Go to System preferences > Users & Groups > Login Options at the bottom left.
  2. Unlock the lock by providing admin credentials.
  3. Change the Display login window as to Name and password.

Step 6: Reboot and log in to your device

  1. Make sure the device is connected to the Internet. If you don't have an internet connection, the login for the Secure LDAP user will not work.
    Note: Internet connection is needed only for the first login. Any subsequent logins can occur without Internet access.
  2. Sign in to the device with the user account that's configured to use Secure LDAP for authentication.

Deployment phase

The instructions in this section focus on automating the device configuration for your users. Perform steps 1 and 2 below on the same macOS device where you completed your manual configuration during the preparation phase.

Step 1: Create a Mac Profile with certificate using Apple Configurator 2

  1. Install Apple Configurator 2 on the machine where you manually configured macOS authentication with Secure LDAP.
  2. Open Apple Configurator 2, create a new profile and in the Certificate section, click Configure, and import the previously generated .p12 file.

    Note: Make sure this .p12 has a password. Enter this password in the Password section of the Certificate.

  3. Save this Profile.
  4. (For devices using M1 or M2 processors, skip this step and continue to Step 5. ) Open this profile in any text editor and add the following lines in first <dict> tag:

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


    This is added, as Apple Configurator does not support profiles for macOS yet.
  5. In the second <dict> tag, parallel to certificate data, add the following lines:

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


    This will make sure that this certificate can be accessed by all applications.

Step 2: Convert Directory config file (plist) to xml

In this step, you are extracting all the manual configurations that you completed during step 3 of the preparation phase into a XML file. You can use this file and the Mac profile created in step 1 above to automatically configure other macOS devices.

  1. Copy /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist to your desktop or elsewhere.
  2. Convert it to XML so that you can inspect it in any text editor. Run the following command in Terminal:

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

    You can access the file as <path>/ldap.google.com.plist .
  3. Change the permission of the above file so that you can open the XML file. Make sure it is not empty.

Step 3: Create a python script to automate the configuration on your end-user devices

Copy the python script below and save it as a python file (.py file).

Note: This sample script is designed to be compatible with Python version 3.10.x. This script is provided on an as-is basis. Google support will not provide support for sample scripts.

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' ")

Step 4: Auto configure end-user devices

Go to other macOS devices that you would like to configure and follow these steps:

  1. Copy the Mac Profile file generated in step 1, XML config file generated in step 2, and the python script from step 3 to the device.
  2. To install the necessary dependency for the script, run the following command:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Voer de volgende opdracht uit:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. To import certificates into the macOS system keychain, double-click on the Mac profile file generated in step 1, and when prompted provide your macOS local admin credentials. You will then be prompted to enter the .p12 password that you set during the preparation phase.
  5. Restart the macOS machine.
  6. Create mobile accounts as instructed in step 4 of the preparation phase, and optionally set additional preferences outlined in step 5 of the preparation phase.

Limitations and guidelines

  • For users signing in to macOS using their Google credentials, their Workspace account username must be different from their macOS user profile user ID, or sign-in is blocked.
  • Once a user starts signing in to macOS using Google credentials, user password management (reset or recovery) must happen on the Google website (for example, at myaccount.google.com or in the Google Admin console). If you choose to do password management using a third-party solution, then make sure the latest password is synchronized with Google.
  • If the admin creates a new user or resets an existing user's password with the Ask for a password change at the next sign-in setting turned on, the user cannot sign in to Mac using the temporary password set by the admin.
    Workaround: The user needs to sign in to Google using another device (for example, their mobile device or other desktop device), set a permanent password, and then sign in to macOS using the new password.
  • The Mac must be connected to a working internet connection so that ldap.google.com is reachable during the first sign-in after the above configuration. Any subsequent sign-ins won't need Internet access as long as you opted to set up a mobile account.
  • Google Secure LDAP integration with macOS is tested on macOS Catalina, Big Sur, and Monterey.

Probleemoplossing

If you have problems connecting to the Secure LDAP service, follow the instructions below.

Step 1: Verify the connection.

Verify the connection using odutil.
Run the odutil show nodenames command in the terminal.
Verify that the /LDAPv3/ldap.google.com status is online . If it's not online, try the telnet option.

Verify the connection using nc.
Execute the following command in the terminal: nc -zv ldap.google.com 636
If you aren't able to connect to Google using this approach, try connecting using IPv4.

Verify the connection with IPv4.
You can change your device to use IPv4 using the following steps:

  1. Go to System Preferences > Network > Wi-Fi > Advanced .
  2. Under the Advanced menu, go to the TCP/IP tab.
  3. Change the drop-down selection from Configure IPv6 to Link-local only .
  4. Click OK , and then click Apply to save the changes.
  5. Check service authentication via ldapsearch connectivity and valid search.

Step 2: Check whether you are able to see directory objects.

  1. Open Directory Utility , and then open the Directory Editor tab.
  2. Select the /LDAPv3/ldap.google.com node in the drop-down list.
  3. Verify whether you are able to see users and groups from your Google domain.

Configuration instructions for Java applications

Most Java-based applications that offer LDAP functionality can be configured to authenticate with client certificates by installing your client certificates in the application's keystore. The exact configuration files will differ among applications, but the process is generally similar. Setup requires that OpenSSL and a Java Runtime Environment are installed.

  1. Convert the certificate and keys to Java keystore format. You will be prompted for passwords throughout this process. Select a secure password and use the same one through all of the prompts. Assuming your client key file is named ldap-client.key :

    If you are in macOS or Linux, use the following commands:

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

    If you are in Windows, use the following commands:

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

    Important: The two files ( <CERT_FILE>.crt and <CERT_FILE>.key ) must be located in the same directory. Also, make sure both key and crt have an identical name (with the two different extensions). In this example, we use the names ldap-client.crt and ldap-client.key .

  2. Import the certificate into keystore:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Java properties may be configured in different ways depending on the application. Often, you can set them with the -D option on the "java" command line used to start it. Set the Java properties for your application:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Configure the application's LDAP connection settings, using the information in Basic configuration instructions .

Optional: Use stunnel as a proxy

For clients that don't offer a way to authenticate to LDAP with a client certificate, use stunnel as a proxy.

Configure stunnel to provide the client certificate to the LDAP server and configure your client to connect to stunnel. Ideally, you'll run stunnel on the same server(s) as your application and only listen locally so that you don't expose your LDAP directory beyond that server.

Volg deze stappen:

  1. Install stunnel . For example, on Ubuntu:

    $  sudo apt-get install stunnel4
    
  2. Create a configuration file /etc/stunnel/google-ldap.conf with the following contents (assuming ldap-client.crt is the cert, and ldap-client.key is the key):

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

  3. To enable stunnel, edit /etc/default/stunnel4 and set ENABLED=1 .

  4. Restart stunnel.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Configure your application to point to ldap://127.0.0.1:1636 .

    You can replace "1636" with any unused port if you also change the accept line in the configuration file above. You'll need to use plaintext LDAP without StartTLS/SSL/TLS enabled between the client and stunnel, since they are communicating locally.

Note: If you choose to run stunnel on a separate server, you must configure your firewalls so that only the necessary applications can access your stunnel server. You can also configure stunnel to listen with TLS so that data between your application and stunnel servers is encrypted. The details of both of these configurations depend on your environment.

Volgende stappen

After you connect the LDAP client to the Secure LDAP service, you then need to switch the service status to On for the LDAP client.

For your next steps, see 5. Switch LDAP clients to On .

Note: If needed, you can use simple tools like ldapsearch , ADSI , or ldp.exe for troubleshooting if you encounter errors while trying to connect your LDAP client to the service. For instructions, see Connectivity testing and troubleshooting .