4. Anslut LDAP-klienter till den säkra LDAP-tjänsten

Använd instruktionerna i den här artikeln för att ansluta din LDAP-klient till Secure LDAP-tjänsten.

Viktig:

  • Se till att läsa din leverantörsdokumentation
    Detaljerna i den här artikeln för att ansluta din LDAP-klient till Secure LDAP-tjänsten är endast avsedda som referens och kan komma att ändras. Utöver dessa hjälpanvisningar bör du läsa leverantörsdokumentationen för de senaste stegen för att ansluta din klient till Secure LDAP-tjänsten.
  • Innan du börjar
    Innan du använder dessa instruktioner, se till att du redan har lagt till klienten i Secure LDAP-tjänsten , konfigurerat åtkomstbehörigheter , laddat ner ett klientcertifikat och en klientnyckel och eventuellt skapat åtkomstuppgifter .
  • Anslutningstestning
    Innan du börjar med dessa steg kan du eventuellt göra ett snabbt anslutningstest med enkla verktyg som ldapsearch , ADSI och ldp.exe . Du kan också använda dessa verktyg för felsökning om du stöter på fel när du försöker ansluta din LDAP-klient till tjänsten. Instruktioner finns i Testning av säker LDAP-anslutning .
  • Så här slutför du dina installationssteg
    När du har anslutit LDAP-klienten genom att följa instruktionerna på den här sidan måste du slutföra installationen av din LDAP-klient genom att ändra tjänstens status till i Googles administratörskonsol. För instruktioner, se 5. Aktivera LDAP-klienter .

Vad som ingår i den här artikeln

Den här artikeln innehåller följande avsnitt:

Dessa instruktioner förutsätter att klientnyckel- och certifikatfilerna som du laddar ner heter ldap-client.key och ldap-client.crt .

Grundläggande konfigurationsinstruktioner

Det här avsnittet innehåller allmänna instruktioner för att ansluta din LDAP-klient till Secure LDAP-tjänsten. Om din LDAP-klient inte finns med i anvisningarna nedan, se till att läsa dokumentationen för det programmet.

Obs! Vissa LDAP-klienter, som Atlassian Jira och SSSD, utför en användarsökning för att få mer information om en användare under användarautentisering. För att säkerställa att användarautentisering fungerar korrekt för sådana LDAP-klienter måste du aktivera Läs användarinformation för alla organisationsenheter där Verifiera användarautentiseringsuppgifter är aktiverat. (För instruktioner, se Konfigurera åtkomstbehörigheter .)

Så här ansluter du LDAP-klienten till den säkra LDAP-tjänsten:

  1. Konfigurera din LDAP-klient med Cloud Directory som din LDAP-server.
  2. Ladda upp certifikatet till din LDAP-klient.

    Tjänsten Secure LDAP använder TLS-klientcertifikat som primär autentiseringsmekanism. För att påbörja processen att ladda upp certifikatet till LDAP-klienten, öppna LDAP-klientens autentiserings- eller kataloginställningar och ange informationen från tabellen nedan.

    Obs! För fullständig information om hur och var du laddar upp TLS-certifikat, se din leverantörsdokumentation.

Använd följande tabell för grundläggande anslutningsinformation:

Värdnamn

ldap.google.com

Hamnar

389 för LDAP med StartTLS aktiverat
636 för LDAPS (SSL/TLS-aktiverat)

Bas-DN

Din domän i DN-format. Till exempel:

dc=exampel,dc=com för exempel.com

Användarnamn och lösenord

Förutom autentisering med ett certifikat kräver vissa LDAP-klienter att du anger ett användarnamn och lösenord. Om fälten för användarnamn och lösenord inte är obligatoriska kan du hoppa över det här steget.

Generera ett användarnamn och lösenord i Googles administratörskonsol. Instruktioner finns i Generera åtkomstuppgifter .

Klientcertifikat och nyckelfiler

Använd certifikat- och nyckelfilen som laddats ner från Googles administratörskonsol. Om LDAP-klienten inte tillhandahåller ett sätt att autentisera med ett klientcertifikat, se Använd stunnel som proxy .

VIKTIGT: Vissa LDAP-klienter, till exempel Apache Directory Studio, stöder inte uppladdning av digitala certifikat. För att åtgärda detta scenario, se Använd stunnel som proxy .

Konfigurationsinstruktioner för specifika LDAP-klienter

ADSI-redigering (Windows)

Följ dessa steg:

  1. Följ steg 1–11 i ldp.exe (Windows) för att installera klientcertifikaten.
  2. Gå till Åtgärd > Anslut till…
  3. Ange följande anslutningsinställningar:

    Namn: Skriv ett namn för din anslutning, till exempel Google LDAP .
    Kopplingspunkt: "Välj eller skriv ett unikt namn eller en namngivningskontext"
    Ange ditt domännamn i DN-format (till exempel dc=example, dc=com för example.com ).

    Dator: "Välj eller skriv en domän eller server"
    ldap.google.com

    Använd SSL-baserad kryptering: Markerad
  4. Klicka på Avancerat... och ange följande information:

    Ange inloggningsuppgifter: Markerad
    Användarnamn: Användarnamnet för åtkomstuppgifter från administratörskonsolen
    Lösenord: Lösenordet för åtkomstuppgifterna från administratörskonsolen
    Portnummer: 636
    Protokoll: LDAP
    Enkel bindningsautentisering: Kontrollerad
  5. Klicka på OK och klicka sedan på OK igen.
  6. Om anslutningen lyckas visas Active Directory-innehållet i bas-DN i den högra rutan.

Apache Directory Studio

För att använda Apache Directory Studio, anslut via stunnel och använd en åtkomstinloggning (användarnamn och lösenord) som genererats i Googles administratörskonsol. Förutsatt att inloggningsuppgifterna är på plats, och att stunnel lyssnar på localhost port 1389, följ dessa steg:

  1. Klicka på Arkiv > Nytt…
  2. Välj LDAP-webbläsare > LDAP-anslutning .
  3. Klicka på Nästa .
  4. Ange anslutningsparametrarna:

    Anslutningsnamn: Välj ett namn, till exempel Google LDAP
    Värdnamn: lokalvärd
    Port: 1389 (eller stunnel-lyssnings-/acceptansporten)
    Krypteringsmetod: Ingen kryptering (Obs: Om stunnel körs på distans rekommenderas kryptering mellan stunnel och klienten.)
  5. Klicka på Nästa .
  6. Ange autentiseringsparametrarna:

    Autentiseringsmetod: Enkel autentisering
    Bind DN eller användare: Användarnamnet för åtkomstuppgifter från administratörskonsolen
    Bind-lösenord: Lösenordet för åtkomstuppgifter från administratörskonsolen
  7. Klicka på Nästa .
  8. Ange bas-DN.
    Detta är ditt domännamn i DN-format ( dc=example,dc=com för example.com ).
  9. Klicka på Slutför .

Atlassian Jira

Atlassian Jira utför en användarsökning för att få mer information om en användare under användarautentisering. För att säkerställa att användarautentisering fungerar korrekt för den här LDAP-klienten måste du aktivera Läs användarinformation och Läs gruppinformation för alla organisationsenheter där Verifiera användarautentiseringsuppgifter är aktiverat. (För instruktioner, se Konfigurera åtkomstbehörigheter .)

Viktigt: Om du använder följande instruktioner kan keystorePassword exponeras för användare och loggfiler. Vidta försiktighetsåtgärder för att undvika obehörig åtkomst till det lokala gränssnittet, loggfilen och Googles administratörskonsol. Som ett alternativ till följande instruktioner kan du använda metoden stunnel4 (se Valfritt: Använd stunnel som proxy ).

Obs: Följande instruktioner förutsätter att Jira är installerat på /opt/atlassian/jira .

Så här ansluter du en Atlassian Jira-klient till Secure LDAP-tjänsten:

  1. Kopiera certifikatet och nyckeln till din/dina Jira-servrar. (Detta är certifikatet som genereras i Googles administratörskonsol när LDAP-klienten läggs till i den säkra LDAP-tjänsten.)

    Till exempel:
    $ scp ldap-client.key user@jira-server:
  2. Konvertera certifikatet och nycklarna till Java-nyckellagringsformat. Du kommer att bli ombedd att ange lösenord under hela processen. För enkelhetens skull, välj ett säkert lösenord och använd samma för alla uppmaningar.

    $ 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. Konfigurera Jira för att använda den nyskapade nyckellagret. Följ anvisningarna här för att lägga till alternativ:

    "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=lösenord"

    På Linux:
    1. Redigera /opt/atlassian/jira/bin/setenv.sh .
    2. Hitta inställningen JVM_SUPPORT_RECOMMENDED_ARGS.
    3. Lägg till "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password" och ersätt "password" med lösenordet du valde ovan.
  4. Starta om Jira.

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

  5. Logga in på Jira-webbgränssnittet som administratör.
    1. Gå till Inställningar > Användarhantering. (För inställningar, gå till kugghjulsikonen längst upp till höger.)
    2. Klicka på Användarkataloger .
    3. Klicka på Lägg till katalog.
    4. Välj LDAP som typ.
    5. Klicka på Nästa .
  6. Ange följande:

    Namn

    Googles säkera LDAP

    Katalogtyp

    OpenLDAP

    Värdnamn

    ldap.google.com

    Hamn

    636

    Använd SSL

    Kontrollerade

    Användarnamn

    Generera ett användarnamn och lösenord i Googles administratörskonsol. Instruktioner finns i Generera åtkomstuppgifter .

    Lösenord

    Generera ett användarnamn och lösenord i Googles administratörskonsol. Instruktioner finns i Generera åtkomstuppgifter .

    Bas-DN

    Ditt domännamn i DN-format. (till exempel dc=example, dc=com för example.com )

    Ytterligare användar-DN

    Valfritt. "ou=Användare"

    Ytterligare grupp-DN

    Valfritt. "ou=Grupper"

    LDAP-behörigheter

    Endast läsning

    Avancerade inställningar

    Oförändrad

    Inställningar för användarschema >
    Användarnamnattribut

    googleUid

    Inställningar för användarschema >
    Användarnamn RDN-attribut

    uid

    Inställningar för gruppschema >
    Gruppobjektklass

    gruppAvNamn

    Inställningar för gruppschema >
    Gruppobjektfilter

    (objektklass=gruppAvNamn)

    Inställningar för medlemskapsschema >
    Gruppmedlemmars attribut

    medlem

    Inställningar för medlemskapsschema >
    Använd attributet Användarmedlemskap

    Kontrollerade
  7. Ge en roll till en grupp.

    Innan Atlassian Jira kan tillåta en användare att logga in måste användaren vara medlem i en grupp som har åtkomst till Jira.

    Så här tilldelar du en roll till en grupp:
    1. Gå till Inställningar > Program > Programåtkomst .
    2. I textrutan Välj grupp anger du namnet på den Google-grupp som du vill ge åtkomst till Jira.

CloudBees Core / Jenkins

Instruktioner om hur du ansluter CloudBees Core till Secure LDAP-tjänsten finns i Konfigurera CloudBees Core med Googles Cloud Identity Secure LDAP .

Friradie

Följ dessa steg:

  1. Installera och konfigurera FreeRADIUS/etc/freeradius/3.0/ .

    När FreeRADIUS är installerat kan du lägga till LDAP-konfigurationen genom att installera plugin-programmet freeradius-ldap .

    $ sudo apt-get install freeradius freeradius-ldap
  2. Kopiera LDAP-klientnyckeln och certifikatfilerna till /etc/freeradius/3.0/certs/ldap-client.key respektive /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. Aktivera LDAP-modulen.

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

  4. Redigera /etc/freeradius/3.0/mods-available/ldap .
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identitet = användarnamn från applikationens inloggningsuppgifter
    3. lösenord = lösenord från applikationens inloggningsuppgifter
    4. base_dn = 'dc=domän,dc=com'
    5. tls->start_tls = nej
    6. tls->certifikatfil = /etc/freeradius/3.0/certs/ldap-client.cer
    7. tls->privat_nyckelfil = /etc/freeradius/3.0/certs/ldap-client.key
    8. tls->require_cert = 'tillåt'
    9. Kommentera bort alla fält i brödsmulan som representerar avsnittet 'ldap -> post-auth -> update'
  5. Redigera /etc/freeradius/3.0/sites-available/default .
    Detta ändrar FreeRadius-klientanslutningen. Om du inte använder standardklienten, se till att uppdatera den relevanta klienten (innertunnel eller någon anpassad klient) som du har konfigurerat.
    1. Ändra auktoriseringsavsnittet för att lägga till följande block längst ner efter PAP-satsen (password authentication protocol) :

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

    2. I auktoriseringsavsnittet aktiverar du LDAP genom att ta bort '-'-tecknet före det.

      #
      # ldap-modulen läser lösenord från LDAP-databasen.
      ldap
    3. Ändra autentiseringsavsnittet genom att redigera Auth-Type LDAP- blocket enligt följande:

      # Auth-Type LDAP {
      ldap
      # }

    4. Ändra autentiseringsavsnittet genom att redigera Auth-Type PAP- blocket enligt följande:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Instruktioner om hur du ansluter GitLab till Secure LDAP-tjänsten finns i Konfigurera Google Secure LDAP för GitLab .

Itopia/Ubuntu

För instruktioner om hur du ansluter Itopia/Ubuntu till Secure LDAP-tjänsten, se Konfigurera Google Cloud Identity LDAP på Ubuntu 16.04 för användarinloggningar .

Ivanti / LanDesk

Följ dessa steg:

  1. På din Ivanti-webbserver öppnar du OpenLDAPAuthenticationConfiguration.xml eller OpenLDAPSSLAuthenticationConfiguration.xml i en textredigerare i båda följande mappar:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework och C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (där servicedesk är instansnamnet)
  2. Uppdatera värdet <Server> till ldap.google.com .
  3. Uppdatera värdet <Port> till port 3268 för klartext med StartTLS aktiverat och till 3269 för SSL/TLS-port (standardvärdena är 389 för klartextporten eller 636 för SSL/TLS-porten).
  4. Ställ in värdet <TestDN> på ditt domännamn i DN-format. (till exempel dc=example,dc=com för example.com ).
  5. Till både ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config och ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config , lägg till raden:

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

    eller raden:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
  6. Öppna önskad instans i Ivanti Configuration Center.
  7. Klicka på Redigera intill Service Desk Framework -applikationen.
    Dialogrutan Redigera applikation för Service Desk Framework visas.
  8. I gruppen Konfigurationsparametrar väljer du Endast explicit i listan Inloggningspolicy och klickar sedan på OK .
  9. Klicka på Redigera intill Webbåtkomst-applikationen.
    Dialogrutan Redigera program för Webbåtkomst visas.
  10. I gruppen Konfigurationsparametrar väljer du Endast explicit i listan Inloggningspolicy och klickar sedan på OK .

Använd den associerade domänanvändarens nätverkslösenord när du loggar in.

Undantagsloggning för LDAP-serverautentisering

Om du har problem med att konfigurera LDAP-serverautentisering kan du aktivera undantagsloggning för att identifiera problemet. Som standard är detta inaktiverat och vi rekommenderar att du inaktiverar undantagsloggningen igen när du är klar med dina undersökningar.

Så här aktiverar du undantagsloggning för LDAP-serverautentisering:

  1. Öppna lämplig XML-fil för autentiseringskonfiguration i en textredigerare:

    DirectoryServiceAuthenticationConfiguration.xml , OpenLDAPAuthenticationConfiguration.xml eller OpenLDAPSSLAuthenticationConfiguration.xml
  2. Ändra raden:

    <ShowExceptions>false</ShowExceptions>
    till
    <ShowExceptions>true</ShowExceptions>
  3. Spara ändringarna.

Ldp.exe (Windows)

Följ dessa steg:

  1. Konvertera certifikat- och nyckelfilerna till en PKCS12-formaterad fil. Ange följande i kommandotolken:

    Om du använder macOS eller Linux, använd följande kommandon:

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

    Ange ett lösenord för att kryptera utdatafilen.

    Om du använder Windows, använd följande kommandon:

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

    Viktigt: De två filerna ( <CERT_FILE>.crt och <CERT_FILE>.key ) måste finnas i samma katalog. Se också till att både key och crt har identiska namn (med olika filändelser). I det här exemplet använder vi namnen ldap-client.crt och ldap-client.key .

  2. Gå till Kontrollpanelen.
  3. I sökrutan söker du efter "certifikat" och klickar på Hantera användarcertifikat .
  4. Gå till Åtgärd > Alla uppgifter > Importera…
  5. Välj Nuvarande användare och klicka på Nästa .
  6. Klicka på Bläddra…
  7. I rullgardinsmenyn för filtyper längst ner till höger i dialogrutan väljer du Utbyte av personlig information (*.pfx;*.p12) .
  8. Välj filen ldap-client.p12 från steg 2, klicka på Öppna och klicka sedan på Nästa .
  9. Ange lösenordet från steg 2 och klicka på Nästa .
  10. Välj det personliga certifikatarkivet, klicka på Nästa och sedan på Slutför .
  11. Kör Ldp.exe .
  12. Gå till Anslutning > Anslut...
  13. Ange följande anslutningsuppgifter:

    Server: ldap.google.com
    Hamn: 636
    Anslutningslös: Omarkerad
    SSL: Kontrollerad
  14. Klicka på OK .
  15. Gå till Visa > Träd .
  16. Ange bas-DN. Detta är ditt domännamn i DN-format. (till exempel dc=example, dc=com för example.com ).
  17. Klicka på OK .
  18. Om anslutningen lyckas visar LDP.exe Active Directory-innehållet – till exempel alla attribut som finns i bas-DN – i den högra rutan.

Netgate / pfSense

Instruktioner om hur du ansluter Netgate/pfSense till Secure LDAP-tjänsten finns i Konfigurera Google Cloud Identity som autentiseringskälla .

OpenLDAP / ldapsearch (Linux)

För att komma åt din LDAP-katalog från kommandoraden kan du använda kommandot OpenLDAP ldapsearch .

Om vi ​​antar att ditt klientcertifikat och dina nyckelfiler är ldap-client.crt och ldap-client.key , Din domän är example.com och användarnamnet är jsmith :

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

Detta ställer in relevanta miljövariabler så att de pekar på klientnycklarna. Du kan ersätta de andra ldapsearch-alternativen med dina önskade filter, begärda attribut och så vidare. För mer information, se ldapsearch-manualsidorna ("man ldapsearch").

ldapsearch (macOS)

Följ dessa steg:

  1. Konvertera certifikat- och nyckelfilerna till en PKCS12-formaterad fil. Ange följande i kommandotolken:

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

    Ange ditt lösenord för att kryptera utdatafilen.
  2. Klick i det övre högra hörnet av menyraden och skriv Nyckelhanterare .
  3. Öppna programmet Nyckelhanterare och klicka på System i listan till vänster.
  4. Klicka på alternativet Arkiv i menyraden uppe till vänster och välj Importera objekt .
  5. Bläddra till platsen med den genererade ldap-client.p12 , välj ldap-client.p12 och klicka på Öppna .
    Om du uppmanas att göra det, ange ditt lösenord.
    Ett certifikat med namnet LDAP-klient bör nu visas i listan över systemnyckelringscertifikat.
  6. Klicka på pilen bredvid LDAP-klientcertifikatet. En privat nyckel visas nedanför.
    1. Dubbelklicka på den privata nyckeln.
    2. I dialogrutan väljer du fliken Åtkomstkontroll och klickar på + i det nedre vänstra hörnet.
    3. I fönstret som öppnas skriver du Kommando+Skift+G för att öppna ett nytt fönster och ersätter sedan den befintliga texten med /usr/bin/ldapsearch .

    4. Klicka .

      Detta öppnar ett fönster med ldapsearch markerat.

    5. Klicka på Lägg till .

    6. Klicka på Spara ändringar och ange ditt lösenord om du uppmanas till det.

      Du är nu redo att komma åt din LDAP-katalog från kommandoraden med hjälp av kommandot OpenLDAP ldapsearch.

  7. Om vi ​​antar att filen ldap-client.p12 som du importerade till nyckelringen tidigare har namnet LDAP-klient , din domän är example.com och användarnamnet är jsmith , ange följande:

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

Detta ställer in relevanta miljövariabler så att de pekar på det importerade klientcertifikatet. Du kan ersätta de andra ldapsearch-alternativen med önskade filter, begärda attribut och så vidare. För mer information, se ldapsearch-manualsidorna ( man ldapsearch ).

OpenVPN (communityversion)

Följ dessa steg:

  1. Om det behövs, installera och konfigurera OpenVPN , eller om du redan har gjort det, öppna inställningssidan i OpenVPN.

    Allmän VPN-konfiguration ligger utanför ramen för den här hjälpartikeln. När ett VPN har konfigurerats kan du lägga till användarautentisering och auktorisering via LDAP. Du måste särskilt installera plugin-programmet openvpn-auth-ldap .

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Kopiera LDAP-klientnyckeln och certifikatfilerna till /etc/openvpn/ldap-client.key och /etc/openvpn/ldap-client.crt .
  3. Skapa en fil, /etc/openvpn/auth-ldap.conf , som innehåller följande (förutsatt att example.com är domännamnet):

    <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. Redigera OpenVPN-konfigurationsfilen, ofta kallad /etc/openvpn/server.conf eller liknande. Lägg till följande längst ner i filen:

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

  5. Starta om OpenVPN-servern.

    $ sudo systemctl restart openvpn@server
  6. Konfigurera VPN-klienterna så att de använder användarnas användarnamn och lösenord. I en OpenVPN-klientkonfiguration lägger du till exempel till auth-user-pass i slutet av OpenVPN-klientens konfigurationsfil och startar OpenVPN-klienten:

    $ openvpn --config /path/to/client.conf
  7. Följ instruktionerna för att använda stunnel som proxy .

OpenVPN Access Server (kommersiell version)

För instruktioner om hur du ansluter OpenVPN Access Server till Secure LDAP-tjänsten, se Konfigurera Google Secure LDAP med OpenVPN Access Server .

PaperCut MF och NG

Instruktioner om hur du ansluter PaperCut till Secure LDAP-tjänsten finns i Så här synkroniserar och autentiserar du Google Workspace- och Google Cloud Identity-användare i PaperCut .

Dockföretag

För instruktioner om hur du ansluter Puppet Enterprise till Secure LDAP-tjänsten, se Google Cloud Directory för PE .

Softerra LDAP-webbläsare

Viktigt: Innan du börjar, se till att du har installerat Softerra LDAP Browser med versionsnummer 4.5 (4.5.19808.0) eller senare. Se LDAP Browser 4.5 .

Följ dessa steg:

  1. Konvertera certifikat- och nyckelfilerna till en PKCS12-formaterad fil. Ange följande i kommandotolken:

    Om du använder macOS eller Linux, använd följande kommandon:

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

    Ange ett lösenord för att kryptera utdatafilen.

    Om du använder Windows, använd följande kommandon:

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

    Viktigt: De två filerna ( <CERT_FILE>.crt och <CERT_FILE>.key ) måste finnas i samma katalog. Se också till att både key och crt har identiska namn (med olika filändelser). I det här exemplet använder vi namnen ldap-client.crt och ldap-client.key .

  2. Installera nyckelparet i Softerra LDAP-webbläsaren.
    1. Gå till Verktyg > Certifikathanterare .
    2. Klicka på Importera…
    3. Klicka på Nästa .
    4. Klicka på Bläddra…
    5. I listrutan Filtyp längst ner till höger i dialogrutan väljer du Utbyte av personlig information (*.pfx;*.p12) .
    6. Välj filen ldap-client.p12 från steg 2 ovan.
    7. Klicka på Öppna och sedan på Nästa .
    8. Ange lösenordet från steg 2 ovan och klicka på Nästa .
    9. Välj det personliga certifikatarkivet.
    10. Klicka på Nästa .
    11. Klicka på Slutför .
  3. Lägg till en serverprofil.
    1. Gå till Arkiv > Nytt > Ny profil…
    2. Ange ett namn för profilen, till exempel Google LDAP .
    3. Klicka på Nästa .

      Ange följande:

      Värd: ldap.google.com
      Hamn:
      636
      Bas-DN: Ditt domännamn i DN-format. (t.ex. dc=example, dc=com för example.com)
      Använd säker anslutning (SSL): Markerad
    4. Klicka på Nästa .
    5. Välj Externt (SSL-certifikat) .
    6. Klicka på Nästa .
    7. Klicka på Slutför .

Sophos Mobile

För instruktioner om hur du ansluter Sophos Mobile till Secure LDAP-tjänsten, se Ansluta Sophos Mobile till Google Cloud Identity/Google Cloud Directory med Secure LDAP .

Splunk

När du ansluter Splunk till Secure LDAP-tjänsten, se till att använda Splunk version 8.1.4 eller senare . När du använder äldre Splunk-versioner, till exempel Splunk version 8.1.3, kan alltför många LDAP-frågor skickas till LDAP-servern, vilket kan leda till att din LDAP-kvot snabbt förbrukas. För mer information om problem med Splunk version 8.1.3, se Kända problem med Splunk .

Följ dessa steg:

  1. Kopiera LDAP-klientnyckeln och certifikatfilerna till /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key och /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. Redigera filen ldap.conf för att lägga till följande konfigurationer:

    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. Lägg till följande konfigurationer i användarens /home/splunkadmin/.ldaprc-fil :

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

  4. Lägg till LDAP-strategin med hjälp av Splunk-webbgränssnittet. Ange följande information och klicka sedan på Spara :

Namn

Googles säkera LDAP

Värd

ldap.google.com

Hamn

636

SSL aktiverat

Kontrollerade

Anslutningsordning

1

Bind DN

Ange åtkomstuppgifterna som du genererade i Googles administratörskonsol.

Bind DN-lösenord

Ange åtkomstuppgifterna som du genererade i Googles administratörskonsol.

Bas-DN

Ditt domännamn i DN-format (till exempel dc=example, dc=com för domänen example.com )

Användarbasfilter

Ange användarbasfiltret för den objektklass du vill filtrera dina användare på.

Användarnamnsattribut

uid

Attribut för riktigt namn

visningsnamn

E-postadress

post

Gruppmappningsattribut

dn

Gruppbas-DN

Ditt domännamn i DN-format (till exempel ou=Grupper,dc=example,dc=com för domänen example.com )

Statiskt gruppsökfilter

Ange sökfiltret för statiska grupper för den objektklass du vill filtrera dina statiska grupper på.

Attribut för gruppnamn

cn

Statiskt medlemsattribut

medlem

SSSD (Red Hat Enterprise och CentOS)

SSSD utför en användarsökning för att få mer information om en användare under användarautentisering. För att säkerställa att användarautentisering fungerar korrekt för den här LDAP-klienten måste du aktivera Läs användarinformation och Läs gruppinformation för alla organisationsenheter där Verifiera användarautentiseringsuppgifter är aktiverat. (För instruktioner, se Konfigurera åtkomstbehörigheter .)

Så här ansluter du en SSSD-klient på Red Hat 8 eller CentOS 8 till Secure LDAP-tjänsten:

  1. Lägg till SSSD-klienten till Secure LDAP-tjänsten:
    1. Från Googles administratörskonsol går du till Appar > LDAP > LÄGG TILL KLIENT .
      Se till att logga in med ditt företagskonto och inte med ditt personliga Gmail-konto.
    2. Ange klientuppgifterna och klicka på FORTSÄTT .
    3. Konfigurera åtkomstbehörigheterna :
      Verifiera användaruppgifter – hela domänen
      Läs användarinformation – Hela domänen
      Läs gruppinformation –
    4. Klicka på LÄGG TILL LDAP-KLIENT .
    5. Ladda ner det genererade certifikatet.
    6. Klicka på FORTSÄTT TILL KUNDINFORMATION .
    7. Ändra tjänstens status till .
  2. Installera beroenden:

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


    Packa upp certifikatets .zip-fil och kopiera .crt- och .key-filerna till /etc/sssd/ldap
  3. (Valfritt) Testa med 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


    Ange användarens Google-lösenord när du uppmanas till det.

    Obs! Användaren måste ha en Google Workspace Enterprise- eller Cloud Identity Premium-licens tilldelad sig.

  4. Skapa filen /etc/sssd/sssd.conf med följande innehåll:

    [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. Uppdatera behörigheterna och SELinux-etiketterna:

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

  6. Starta om SSSD:

    systemctl restart sssd
  7. Testa:

    ssh till servern:

    ssh -l user@example.com {HOSTNAME}

Felsökning

  1. Kontrollera SSSD-versionen (måste vara större än eller lika med 1.15.2):

    # sssd --version
    2.2.3

  2. På RHEL/CentOS (eller någon distribution med SELinux-krav) måste SSSD-konfigurationsfilerna, certifikatfilen och nyckeln finnas i en katalog som är åtkomlig för rollen sssd_conf_t:

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

    Kontrollera /var/log/audit/audit.log för meddelanden om att AVC-avvisningar har avvisats.

  3. Kontrollera att /etc/nsswitch.conf har "sss" för entiteterna passwd, shadow, group och netgroup:

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


    Här kommer lokala filer att åsidosätta LDAP-användare.
  4. Kontrollera /var/log/sssd.conf för konfigurationsfel:

    Exempel:
    [sssd] [sss_ini_add_snippets] (0x0020): Konfigurationssammanslagningsfel: Filen /etc/sssd/sssd.conf klarade inte åtkomstkontrollen. Hoppar över.

    Åtgärd: Du måste chmod 600 utföra .conf-filen.

    Exempel:
    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attributet 'ldap_groups_use_matching_rule_in_chain' är inte tillåtet i avsnittet 'domain/{DOMAIN}'. Kontrollera om det finns några stavfel.

    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attributet 'ldap_initgroups_use_matching_rule_in_chain' är inte tillåtet i avsnittet 'domain/{DOMAIN}'. Kontrollera om det finns några stavfel.

    Åtgärd: Ta bort de LDAP-tillägg som inte stöds för gruppmatchning från sssd.conf.

  5. Kontrollera /var/log/sssd_{DOMAIN}.log för LDAP/network/auth-fel.

    Exempel:

    [sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls misslyckades: [Anslutningsfel] [fel:1416F086:SSL-rutiner:tls_process_server_certificate:certifikatverifiering misslyckades (självsignerat certifikat)]

    Åtgärd: Du måste lägga till "ldap_tls_reqcert = never" till sssd.conf.

    För att öka utförligheten av fel, lägg till "debug_level = 9" i sssd.conf under domänavsnittet och starta om sssd.

SSSD (andra Linuxdistributioner)

SSSD utför en användarsökning för att få mer information om en användare under användarautentisering. För att säkerställa att användarautentisering fungerar korrekt för den här LDAP-klienten måste du aktivera Läs användarinformation och Läs gruppinformation för alla organisationsenheter där Verifiera användarautentiseringsuppgifter är aktiverat. (För instruktioner, se Konfigurera åtkomstbehörigheter .)

Så här ansluter du en SSSD-klient till Secure LDAP-tjänsten:

  1. Installera SSSD-version >= 1.15.2.

    $ sudo apt-get install sssd
  2. Om vi ​​antar att dina klientcertifikat- och nyckelfiler heter /var/ldap-client.crt och /var/ldap-client.key och din domän är example.com , redigera /etc/sssd/sssd.conf med en konfiguration som:


    [sssd]
    tjänster = nss, pam
    domäner = exempel.com

    [domän/ example.com ]
    ldap_tls_cert = /var/ldap-klient.crt
    ldap_tls_key = /var/ldap-client.key
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_leverantör = ldap
    autentiseringsleverantör = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID
    ldap_groups_use_matching_rule_in_chain = sant
    ldap_initgroups_use_matching_rule_in_chain = sant

  3. Ändra ägarskap och behörighet för konfigurationsfilen:

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

  4. Starta om SSSD:

    $ sudo service sssd restart

Tips: Om du använder SSSD-modulen på Linux-datorer utan externa IP-adresser på Google Compute Engine kan du fortfarande ansluta till Secure LDAP-tjänsten så länge du har intern åtkomst till Googles tjänster aktiverad. Mer information finns i Konfigurera privat Google-åtkomst .

macOS

Följ stegen nedan för att ansluta macOS-klienten för autentisering av användarkonton med hjälp av tjänsten Secure LDAP.

Systemkrav

  • macOS måste vara Catalina version 10.15.4 eller senare.
  • Ett Google-användar-ID för superadministratörer krävs för att slutföra steg 1 i förberedelsefasen.
  • Du behöver lokala administratörsbehörigheter för att utföra den här konfigurationen.

Innehåll:

Förberedelsefas

Instruktionerna i det här avsnittet fokuserar på hur du manuellt konfigurerar och testar macOS-autentisering med hjälp av tjänsten Secure LDAP.

Steg 1: Registrera macOS som en LDAP-klient i Googles administratörskonsol

För instruktioner, se Lägg till LDAP-klienter eller titta på den här demon av säker LDAP . Du kommer också att ladda ner ett automatiskt genererat TLS-klientcertifikat under den här processen.

Steg 2: Importera certifikatet till systemnyckelringen

  1. Kopiera certifikatet (zip-filen som laddades ner i steg 1) och nyckeln till macOS-maskinen.
    Tips: Packa upp filen för att hitta certifikat- och nyckelfiler.
  2. Importera nyckelparet till systemnyckelringen:
    1. Konvertera nyckeln och certifikatet till en PKCS 12-fil (p12). Kör följande kommando i terminalen:

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

      Tips: Skriv ner namnet på .p12-filen.

      Systemet kommer att be dig ange ett lösenord. Ange ett lösenord för att kryptera p12-filen.

    2. Öppna programmet Nyckelringsåtkomst .

    3. Klicka på System- nyckelringen.

    4. Klicka på Arkiv > Importera objekt .

    5. Välj filen ldap-client.p12 som skapades ovan.

    6. Om du uppmanas att göra det anger du administratörslösenordet för att tillåta ändring av systemnyckelringen.

    7. Ange lösenordet du skapade ovan för att dekryptera .p12-filen.

      Obs: Förvänta dig att se ett nytt certifikat och tillhörande privat nyckel visas i listan över nycklar. Det kan heta LDAP-klient . Skriv ner certifikatets namn för nästa steg nedan.
    8. Följ steg 6 i avsnittet ldapsearch (macOS) i den här artikeln för att konfigurera åtkomstkontroll för den privata nyckeln för att lägga till appar som anges nedan. Om den privata nyckeln inte visas under kategorin Alla objekt kan du försöka växla till kategorin Mina certifikat och hitta rätt post för privat nyckel genom att expandera motsvarande certifikat.

      Appen ldapsearch, som anges i instruktionerna, är endast relevant om felsökning behövs och inte för andra ändamål. Den tas vanligtvis bort innan användare får tillgång till macOS.

      Följande tre appar måste läggas till i listan över åtkomstkontroll:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Lägg till en rad i filen /etc/openldap/ldap.conf och se till att "LDAP Client" är exakt samma certifikatnamn som visas i macOS Keychain Access-programmet efter att .p12-filen har importerats (namnet kommer från X.509 Subject Common Name för det genererade certifikatet):

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

Steg 3: Peka enheten till Google-katalogen för autentisering

Öppna programmet Katalogverktyg för att skapa en ny LDAP-katalognod:

  1. Klicka på låset för att göra ändringar och ange ditt lösenord.
  2. Välj LDAPv3 och klicka på pennikonen för att redigera inställningarna.
  3. Klicka på Nytt…
  4. Som servernamn anger du ldap.google.com, väljer Kryptera med SSL och klickar på Manuellt .
  5. Välj det nya servernamnet och klicka på Redigera…
  6. Ange ett beskrivande namn, till exempel Google Secure LDAP, för konfigurationsnamnet.
  7. Välj Kryptera med SSL och se till att porten är inställd på 636 .
  8. Gå till fliken Sök och mappningar .
    1. Välj RFC2307 från rullgardinsmenyn Åtkomst till den här LDAPv3-servern med .
    2. När du uppmanas att göra det anger du domänrelaterad information i sökbassuffixet . Ange till exempel dc=zomato,dc=com för domännamnet zomato.com .
    3. Klicka på OK .
    4. Konfigurera attribut under posttypen Användare :
      1. I avsnittet Posttyper och attribut väljer du Användare och klickar på knappen " + ".
      2. I popup-fönstret väljer du Attributtyper, väljer GeneratedUID och klickar sedan på OK för att stänga popup-fönstret.

        GeneratedUID ska visas under Användare efter att det har expanderats.
      3. Klicka på GeneratedUID och klicka på ikonen " + " i rutan till höger.
      4. Skriv apple-generateduid i textrutan och klicka på Enter .
      5. Under noden Användare klickar du på attributet NFSHomeDirectory .
      6. På skärmen till höger, uppdatera värdet för detta attribut till #/Users/$uid$
      7. Klicka på OK och ange ditt lösenord för att spara ändringarna.
  9. Från fönstret Katalogverktyg konfigurerar du den nya LDAP-konfigurationen:
    1. Gå till fliken Sökpolicy .
    2. Klicka på låsikonen för att göra ändringar och ange lösenordet för den aktuella användaren när du uppmanas till det.
    3. Ändra rullgardinsmenyn från Sökväg till Anpassad sökväg .
    4. Öppna fliken Autentisering och klicka på ikonen " + ".
    5. Välj /LDAPv3/ldap.google.com från listan Katalogdomäner och klicka sedan på Lägg till .
    6. Klicka på knappen Verkställ och ange ditt administratörslösenord om du uppmanas till det.
  10. Kör följande fyra kommandon för att inaktivera autentiseringsmekanismerna DIGEST-MD5, CRAM-MD5, NTLM och GSSAPI SASL. macOS använder Simple Bind för att autentisera med Google Secure LDAP-tjänsten:

    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. Starta om för att ladda om OpenDirectory-konfigurationen.

Steg 4: Skapa ett mobilkonto (tillåter offline-inloggning)

Alla Google Workspace- eller Cloud Identity-användare kan logga in med ett nätverkskonto (Google-konto) och sitt användarnamn och lösenord. Denna inloggningsprocess kräver nätverksanslutning. Om en användare behöver logga in med eller utan nätverksanslutning kan ett mobilkonto skapas. Ett mobilkonto låter dig använda ditt nätverkskontos (Google-kontos) användarnamn och lösenord för att logga in, oavsett om du är ansluten till nätverket eller inte. Mer information finns i Skapa och konfigurera mobilkonton på Mac .

Så här skapar du ett mobilkonto för Secure LDAP-användare:

  1. Kör följande kommando för att ansluta till den säkra LDAP-servern och konfigurera en hemsökväg och ett eller flera mobilkonton:

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

    Tips: Ersätt $uid med användarnamnsdelen av e-postadressen som är kopplad till användarens Google-konto. Till exempel är jsmith användarnamnsdelen för jsmith@solarmora.com .

  2. När du blir ombedd att ange administratörsanvändarnamnet för SecureToken anger du ditt administratörsanvändarnamn och sedan ditt lösenord i nästa prompt. Detta lägger till $uid i FileVault. Detta behövs om macOS-disken är krypterad.

Steg 5: (Valfritt) Ställ in inställningar för inloggningsskärmen

  1. Gå till Systeminställningar > Användare och grupper > Inloggningsalternativ längst ner till vänster.
  2. Lås upp låset genom att ange administratörsuppgifter.
  3. Ändra inloggningsfönstret Visa till namn och lösenord.

Steg 6: Starta om och logga in på din enhet

  1. Se till att enheten är ansluten till internet. Om du inte har en internetanslutning fungerar inte inloggningen för Secure LDAP-användaren.
    Obs: Internetanslutning krävs endast för den första inloggningen. Efterföljande inloggningar kan ske utan internetåtkomst.
  2. Logga in på enheten med det användarkonto som är konfigurerat för att använda säker LDAP för autentisering.

Implementeringsfas

Instruktionerna i det här avsnittet fokuserar på att automatisera enhetskonfigurationen för dina användare. Utför steg 1 och 2 nedan på samma macOS-enhet där du slutförde din manuella konfiguration under förberedelsefasen.

Steg 1: Skapa en Mac-profil med certifikat med Apple Configurator 2

  1. Installera Apple Configurator 2 på den dator där du manuellt konfigurerade macOS-autentisering med Secure LDAP.
  2. Öppna Apple Configurator 2, skapa en ny profil och klicka på Konfigurera i avsnittet Certifikat och importera den tidigare genererade .p12-filen.

    Obs: Se till att denna .p12-fil har ett lösenord. Ange detta lösenord i avsnittet Lösenord i certifikatet.

  3. Spara den här profilen.
  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. Run the following command:
    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.

Felsökning

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.

Konfigurationsinstruktioner för Java-applikationer

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.

Följ dessa steg:

  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.

Nästa steg

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 .