4. Connettere i client LDAP al servizio Secure LDAP

Segui le istruzioni riportate in questo articolo per connettere il client LDAP al servizio LDAP sicuro.

Importante:

  • Assicurati di leggere la documentazione del fornitore
    I dettagli di questo articolo per connettere il client LDAP al servizio LDAP sicuro sono solo a scopo di riferimento e sono soggetti a modifiche. Oltre a queste istruzioni della Guida, assicurati di leggere la documentazione del fornitore per i passaggi più aggiornati per connettere il client al servizio LDAP sicuro.
  • Prima di iniziare
    Prima di utilizzare queste istruzioni, assicurati di aver già aggiunto il client al servizio LDAP sicuro, configurato le autorizzazioni di accesso, scaricato un certificato e una chiave client e, facoltativamente, creato le credenziali di accesso.
  • Test di connettività
    Se vuoi, prima di iniziare questa procedura, puoi eseguire un test rapido della connessione utilizzando strumenti semplici come ldapsearch, ADSI e ldp.exe. Puoi anche utilizzare questi strumenti per la risoluzione dei problemi se riscontri errori durante il tentativo di connettere il client LDAP al servizio. Per istruzioni, vedi Test di connettività LDAP sicuro.
  • Come completare i passaggi di configurazione
    Dopo aver connesso il client LDAP seguendo le istruzioni riportate in questa pagina, devi completare la configurazione del client LDAP impostando lo stato del servizio su Attivo nella Console di amministrazione Google. Per istruzioni, vedi 5. Imposta i client LDAP su On.

Argomenti trattati in questo articolo

Questo articolo comprende le seguenti sezioni:

Queste istruzioni presuppongono che i file della chiave e del certificato client che scarichi siano denominati ldap-client.key e ldap-client.crt.

Istruzioni di configurazione di base

Questa sezione include istruzioni generiche per connettere il client LDAP al servizio LDAP sicuro. Se il tuo client LDAP non è elencato nelle istruzioni di seguito, assicurati di consultare la documentazione dell'applicazione.

Nota:alcuni client LDAP come Atlassian Jira e SSSD eseguono una ricerca utente per ottenere maggiori informazioni su un utente durante l'autenticazione. Per assicurarti che l'autenticazione utente funzioni correttamente per questi client LDAP, devi attivare l'opzione Leggi informazioni utente per tutte le unità organizzative in cui è attiva l'opzione Verifica credenziali utente. Per istruzioni, vedi Configurare le autorizzazioni di accesso.

Per connettere il client LDAP al servizio LDAP sicuro:

  1. Configura il client LDAP con Cloud Directory come server LDAP.
  2. Carica il certificato sul client LDAP.

    Il servizio LDAP sicuro utilizza i certificati client TLS come meccanismo di autenticazione principale. Per iniziare la procedura di caricamento del certificato nel client LDAP, apri le impostazioni di autenticazione o della directory del client LDAP e inserisci i dettagli della tabella riportata di seguito.

    Nota:per informazioni dettagliate su come e dove caricare i certificati TLS, consulta la documentazione del fornitore.

Per le informazioni di base sulla connessione, utilizza la seguente tabella:

Hostname (Nome host)

ldap.google.com

Porte

389 per LDAP con StartTLS abilitato
636 per LDAPS (SSL/TLS abilitato)

Base DN (DN di base)

Il tuo dominio in formato DN, ad esempio

dc=example,dc=com per example.com

Nome utente e password

Oltre all'autenticazione tramite certificato, alcuni client LDAP richiedono l'inserimento di un nome utente e una password. Se i campi nome utente e password non sono obbligatori, puoi ignorare questo passaggio.

Genera un nome utente e una password nella Console di amministrazione Google. Per le istruzioni relative a questa operazione, consulta Generare le credenziali di accesso.

File di certificato e chiave client

Utilizza i file del certificato e della chiave scaricati dalla Console di amministrazione Google. Se il client LDAP non fornisce un modo per autenticarsi con un certificato client, consulta Utilizzare stunnel come proxy.

IMPORTANTE:alcuni client LDAP, come Apache Directory Studio, non supportano il caricamento di certificati digitali. Per risolvere questo problema, vedi Utilizzare stunnel come proxy.

Istruzioni di configurazione per client LDAP specifici

ADSI Edit (Windows)

Segui questi passaggi:

  1. Segui i passaggi da 1 a 11 in ldp.exe (Windows) per installare i certificati client.
  2. Vai ad Action > Connect to… (Azione > Connetti a).
  3. Inserisci le seguenti impostazioni di connessione:

    Nome:digita un nome per la connessione, ad esempio Google LDAP.
    Punto di connessione: "Seleziona o digita un nome distinto o un contesto di denominazione"
    Inserisci il nome di dominio in formato DN (ad esempio, dc=example,dc=com per example.com).

    Computer: "Seleziona o digita un dominio o un server"
    ldap.google.com

    Utilizza la crittografia basata su SSL:selezionata
  4. Fai clic su Avanzate… e inserisci i seguenti dettagli:

    Specifica credenziali:selezionato
    Nome utente:il nome utente delle credenziali di accesso dalla Console di amministrazione
    Password:la password delle credenziali di accesso dalla Console di amministrazione
    Numero di porta:636
    Protocollo:LDAP
    Autenticazione con binding semplice:selezionato
  5. Fai clic su OK, quindi di nuovo su OK.
  6. Se la connettività ha esito positivo, i contenuti di Active Directory nel DN di base sono visualizzati nel riquadro a destra.

Apache Directory Studio

Per utilizzare Apache Directory Studio, connettiti tramite stunnel e utilizza una credenziale di accesso (nome utente e password) generata nella Console di amministrazione Google. Supponendo che le credenziali siano a posto e che stunnel sia in ascolto sulla porta localhost 1389, segui questi passaggi:

  1. Fai clic su File > New… (File > Nuovo…)
  2. Seleziona LDAP Browser > LDAP Connection (Browser LDAP > Connessione LDAP).
  3. Fai clic su Avanti.
  4. Inserisci i parametri di connessione:

    Nome connessione:scegli un nome, ad esempio Google LDAP
    Nome host:localhost
    Porta:1389 (o la porta di ascolto/accettazione di stunnel)
    Metodo di crittografia:nessuna crittografia (nota: se stunnel viene eseguito in remoto, è consigliata la crittografia tra stunnel e il client).
  5. Fai clic su Avanti.
  6. Inserisci i parametri di autenticazione:

    Metodo di autenticazione:autenticazione semplice
    DN o utente di binding:il nome utente della credenziale di accesso dalla Console di amministrazione
    Password di binding:la password della credenziale di accesso dalla Console di amministrazione
  7. Fai clic su Avanti.
  8. Inserisci il DN di base.
    Questo è il tuo nome di dominio nel formato DN (dc=example,dc=com per example.com).
  9. Fai clic su Fine.

Atlassian Jira

Atlassian Jira esegue una ricerca utente per ottenere maggiori informazioni su un utente durante l'autenticazione. Per assicurarti che l'autenticazione utente funzioni correttamente per questo client LDAP, devi attivare Leggi informazioni utente e Leggi informazioni gruppo per tutte le unità organizzative in cui è attivata l'opzione Verifica credenziali utente. Per le istruzioni relative a questa operazione, vedi Configurare le autorizzazioni di accesso.

Importante: se ti attieni alle istruzioni riportate di seguito, il valore keystorePassword potrebbe essere esposto a utenti e file di log. Prendi precauzioni per evitare l'accesso non autorizzato alla shell locale, al file di log e alla Console di amministrazione Google. In alternativa alle istruzioni riportate di seguito, utilizza il metodo stunnel4 (vedi (Facoltativo) Utilizza stunnel come proxy).

Nota:le seguenti istruzioni presuppongono che Jira sia installato in /opt/atlassian/jira.

Per connettere un client Atlassian Jira al servizio LDAP sicuro:

  1. Copia il certificato e la chiave nei tuoi server Jira. Si tratta del certificato generato nella Console di amministrazione Google durante l'aggiunta del client LDAP al servizio LDAP sicuro.

    Ad esempio:
    $ scp ldap-client.key user@jira-server:
  2. Converti il certificato e le chiavi nel formato Java keystore. Durante questo processo ti verrà richiesto più volte di inserire una password. Per maggiore praticità, scegli una password sicura e utilizzala per tutte le richieste.

    $ 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. Configura Jira affinché utilizzi l'archivio chiavi appena creato. Segui le istruzioni riportate qui per aggiungere le opzioni:

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

    Su Linux:
    1. Modifica il file /opt/atlassian/jira/bin/setenv.sh.
    2. Individua l'impostazione JVM_SUPPORT_RECOMMENDED_ARGS.
    3. Aggiungi "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password", sostituendo "password" con la password selezionata in precedenza.
  4. Riavvia Jira.

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

  5. Accedi all'interfaccia web di Jira come amministratore.
    1. Vai a Impostazioni > Gestione utenti. Per aprire le impostazioni utilizza l'icona a forma di ingranaggio in alto a destra.
    2. Fai clic su User Directories (Directory utente).
    3. Fai clic su Aggiungi directory.
    4. Scegli LDAP come tipo.
    5. Fai clic su Avanti.
  6. Inserisci i seguenti valori:

    Name (Nome)

    Google Secure LDAP

    Directory type (Tipo directory)

    OpenLDAP

    Hostname (Nome host)

    ldap.google.com

    Port (Porta)

    636

    Use SSL (Usa SSL)

    Selezionata

    Nome utente

    Genera un nome utente e una password nella Console di amministrazione Google. Per le istruzioni relative a questa operazione, consulta Generare le credenziali di accesso.

    Password

    Genera un nome utente e una password nella Console di amministrazione Google. Per le istruzioni relative a questa operazione, consulta Generare le credenziali di accesso.

    Base DN (DN di base)

    Il nome di dominio in formato DN, ad esempio, dc=example,dc=com per example.com

    Additional User DN (Altro DN utente)

    Facoltativo. "ou=Users"

    Additional Group DN (Altro DN gruppo)

    Facoltativo. "ou=Groups"

    LDAP Permissions (Autorizzazioni LDAP)

    Sola lettura

    Impostazioni avanzate

    Invariato

    User Schema Settings (Impostazioni schema utente) >
    User Name Attribute (Attributo nome utente)

    googleUid

    User Schema Settings (Impostazioni schema utente) >
    User Name RDN Attribute (Attributo RDN Nome utente)

    uid

    Group Schema Settings (Impostazioni schema gruppo) >
    (Classe oggetti gruppo)

    groupOfNames

    Group Schema Settings (Impostazioni schema gruppo) >
    Group Object Filter (Filtro oggetti gruppo)

    (objectClass=groupOfNames)

    Membership Schema Settings (Impostazioni schema appartenenza) >
    Group Members Attribute (Attributo membri gruppo)

    member

    Membership Schema Settings (Impostazioni schema appartenenza) >
    Use the User Membership Attribute (Utilizza attributo appartenenza utente)

    Selezionata
  7. Assegna un ruolo a un gruppo.

    Prima che Atlassian Jira possa consentire a un utente di accedere, quest'ultimo deve essere membro di un gruppo a cui è stato concesso l'accesso a Jira.

    Per assegnare un ruolo a un gruppo:
    1. Vai a Settings (Impostazioni) > Applications (Applicazioni) > Application access (Accesso applicazioni).
    2. Nella casella di testo Seleziona gruppo, inserisci il nome del gruppo Google a cui vuoi fornire l'accesso a Jira.

CloudBees Core/Jenkins

Per istruzioni per la connessione di CloudBees Core al servizio Secure LDAP, leggi come configurare CloudBees Core con il servizio Secure LDAP di Google Cloud Identity.

FreeRadius

Segui questi passaggi:

  1. Installa e configura FreeRADIUS in /etc/freeradius/3.0/.

    Dopo aver installato FreeRADIUS puoi aggiungere la configurazione LDAP installando il plug-in freeradius-ldap.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Copia i file della chiave e del certificato del client LDAP rispettivamente in /etc/freeradius/3.0/certs/ldap-client.key e /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. Attiva il modulo LDAP.

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

  4. Modifica /etc/freeradius/3.0/mods-available/ldap.
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identity = nome utente delle credenziali dell'applicazione
    3. password = password delle credenziali dell'applicazione
    4. base_dn = 'dc=domain,dc=com'
    5. tls->start_tls = no
    6. tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
    7. tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
    8. tls->require_cert = 'allow'
    9. Commenta tutti i campi nel breadcrumb che rappresentano la sezione "ldap -> post-auth -> update"
  5. Modifica /etc/freeradius/3.0/sites-available/default.
    In questo modo si modifica la connessione del client FreeRADIUS. Se non utilizzi il client predefinito, assicurati di aggiornare il client pertinente (tunnel interno o qualsiasi client personalizzato) che hai configurato.
    1. Modifica la sezione authorize per aggiungere il seguente blocco in fondo dopo la dichiarazione del protocollo di autenticazione della password (PAP):

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

    2. Nella sezione authorize, abilita LDAP rimuovendo il segno "-" che lo precede.

      #
      # Il modulo ldap legge le password dal database LDAP.
      ldap
    3. Modifica la sezione authenticate modificando il blocco Auth-Type LDAP come segue:

      # Auth-Type LDAP {
      ldap
      # }

    4. Modifica la sezione authenticate modificando il blocco Auth-Type PAP nel seguente modo:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Per istruzioni su come collegare di GitLab al servizio Secure LDAP, leggi come configurare Google Secure LDAP per GitLab.

Itopia/Ubuntu

Per istruzioni su come connettere Itopia/Ubuntu al servizio LDAP sicuro, leggi come configurare il servizio LDAP di Google Cloud Identity su Ubuntu 16.04 per gli accessi utente.

Ivanti/LanDesk

Segui questi passaggi:

  1. Sul server web Ivanti, apri OpenLDAPAuthenticationConfiguration.xml o OpenLDAPSSLAuthenticationConfiguration.xml in un editor di testo in entrambe le seguenti cartelle:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework e C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (dove servicedesk è il nome dell'istanza)
  2. Aggiorna il valore di <Server> a ldap.google.com.
  3. Aggiorna il valore <Port> alla porta 3268 per i dati in chiaro con StartTLS attivato e a 3269 per la porta SSL/TLS (i valori predefiniti sono 389 per la porta dei dati in chiaro o 636 per la porta SSL/TLS).
  4. Imposta il valore <TestDN> sul tuo nome di dominio in formato DN. ad esempio dc=example,dc=com per example.com.
  5. Aggiungi la riga:

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

    oppure la riga:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
  6. In Ivanti Configuration Center, apri l'istanza richiesta.
  7. Accanto all'applicazione Service Desk Framework, fai clic su Edit (Modifica).
    Viene visualizzata la finestra di dialogo Edit Application (Modifica applicazione) per Service Desk Framework.
  8. Nel gruppo Configuration parameters (Parametri di configurazione), seleziona Explicit only (Solo espliciti) nell'elenco Logon policy (Criteri di accesso), quindi fai clic su OK.
  9. Accanto all'applicazione Accesso web, fai clic su Modifica.
    Viene visualizzata la finestra di dialogo Edit Application (Modifica applicazione) per Web Access.
  10. Nel gruppo Parametri di configurazione, seleziona Solo esplicito nell'elenco Policy di accesso, quindi fai clic su Ok.

Durante l'accesso, utilizza la password di rete dell'utente del dominio associato.

Registrazione delle eccezioni per l'autenticazione del server LDAP

Se hai problemi a configurare l'autenticazione del server LDAP, puoi attivare la registrazione delle eccezioni per identificare il problema. Per impostazione predefinita, questa opzione è disattivata; consigliamo di disattivarla nuovamente al termine delle indagini.

Per abilitare la registrazione delle eccezioni per l'autenticazione del server LDAP:

  1. Apri il file XML di configurazione dell'autenticazione appropriato in un editor di testo:

    DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml o OpenLDAPSSLAuthenticationConfiguration.xml
  2. Modifica la riga:

    <ShowExceptions>false</ShowExceptions>
    in
    <ShowExceptions>true</ShowExceptions>
  3. Salva le modifiche.

Ldp.exe (Windows)

Segui questi passaggi:

  1. Converti i file della chiave e del certificato client in un file in formato PKCS12. Al prompt dei comandi, inserisci quanto segue:

    Se utilizzi macOS o Linux, usa i seguenti comandi:

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

    Inserisci una password per criptare il file di output.

    In Windows, utilizza i seguenti comandi:

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

    Importante:i due file (<CERT_FILE>.crt e <CERT_FILE>.key) devono trovarsi nella stessa directory. Inoltre, assicurati che sia key che crt abbiano lo stesso nome (con un'estensione diversa). In questo esempio, utilizziamo i nomi ldap-client.crt e ldap-client.key.

  2. Vai al Pannello di controllo.
  3. Nella casella di ricerca, cerca "certificato" e fai clic su Gestisci certificati utente.
  4. Vai ad Action > All Tasks > Import… (Azione > Tutte le attività > Importa).
  5. Seleziona Current User (Utente corrente) e fai clic su Next (Avanti).
  6. Fai clic su Browse… (Sfoglia)
  7. Nell'elenco a discesa File type (Tipo di file) nell'angolo inferiore destro della finestra di dialogo, seleziona Personal Information Exchange (*.pfx;*.p12) (Scambio di informazioni personali).
  8. Seleziona il file ldap-client.p12 del passaggio 2, fai clic su Apri e poi su Avanti.
  9. Inserisci la password utilizzata al passaggio 2 e fai clic su Next (Avanti).
  10. Seleziona l'archivio certificati Personale, fai clic su Avanti e poi su Fine.
  11. Esegui Ldp.exe.
  12. Vai a Connessione > Connetti…
  13. Inserisci i seguenti dettagli di connessione:

    Server: ldap.google.com
    Porta: 636
    Senza connessione: deselezionato
    SSL: selezionato
  14. Fai clic su OK.
  15. Vai a View > Tree (Visualizza > Struttura).
  16. Inserisci il DN di base, ovvero il tuo nome dominio in formato DN, ad esempio dc=example,dc=com per example.com.
  17. Fai clic su OK.
  18. Se la connettività è riuscita, LDP.exe mostra i contenuti di Active Directory, ad esempio tutti gli attributi presenti nel DN di base, nel riquadro a destra.

Netgate/pfSense

Per istruzioni su come connettere Netgate/pfSense al servizio LDAP sicuro, vedi Configurazione di Google Cloud Identity come origine di autenticazione.

OpenLDAP/ldapsearch (Linux)

Per accedere alla directory LDAP dalla riga di comando, puoi utilizzare il comando ldapsearch di OpenLDAP.

Supponendo che i file del certificato client e della chiave siano ldap-client.crt e ldap-client.key, il tuo dominio sia example.com e il nome utente sia jsmith:

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

In questo modo, le variabili di ambiente pertinenti vengono impostate in modo che puntino alle chiavi client. Puoi sostituire le altre opzioni di ldapsearch con i filtri da applicare, gli attributi richiesti e così via. Per altri dettagli, consulta le pagine del manuale di ldapsearch ("man ldapsearch").

ldapsearch (macOS)

Segui questi passaggi:

  1. Converti i file della chiave e del certificato client in un file in formato PKCS12. Al prompt dei comandi, inserisci quanto segue:

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

    Inserisci la password per criptare il file di output.
  2. Fai clic su nell'angolo in alto a destra della barra dei menu e digita Accesso Portachiavi.
  3. Apri l'applicazione Accesso Portachiavi e, nell'elenco a sinistra, fai clic su Sistema.
  4. Fai clic sull'opzione File nella barra del menu a sinistra in alto e seleziona Import Items (Importa elementi).
  5. Vai alla posizione con il file ldap-client.p12 generato, seleziona ldap-client.p12 e fai clic su Apri.
    Se richiesto, inserisci la password.
    Nell'elenco dei certificati del portachiavi di sistema dovrebbe ora essere visualizzato un certificato con il nome Client LDAP.
  6. Fai clic sulla freccia accanto al certificato LDAP Client (Client LDAP). Sotto viene visualizzata una chiave privata.
    1. Fai doppio clic sulla chiave privata.
    2. Nella finestra di dialogo, seleziona la scheda Controllo dell'accesso e fai clic su + nell'angolo in basso a sinistra.
    3. Nella finestra che si apre, digita Comando+Maiusc+G per aprire una nuova finestra, quindi sostituisci il testo esistente con /usr/bin/ldapsearch.

    4. Fai clic su Go (Vai).

      Verrà aperta una finestra in cui ldapsearch è evidenziato.

    5. Fai clic su Aggiungi.

    6. Fai clic su Salva modifiche e inserisci la password, se richiesto.

      Ora è tutto pronto per accedere alla tua directory LDAP dalla riga di comando utilizzando il comando ldapsearch di OpenLDAP.

  7. Supponendo che il file ldap-client.p12 che hai importato nel portachiavi in precedenza abbia il nome LDAP Client, il tuo dominio sia example.com e il nome utente sia jsmith, inserisci quanto segue:

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

Il comando imposta le variabili di ambiente pertinenti in modo che rimandino al certificato client importato. Puoi sostituire le altre opzioni di ldapsearch con i filtri da applicare, gli attributi richiesti e così via. Per maggiori dettagli, vedi le pagine dedicate a ldapsearch man (man ldapsearch).

OpenVPN (versione community)

Segui questi passaggi:

  1. Se necessario, installa e configura OpenVPN oppure, se lo hai già fatto, apri la pagina delle impostazioni in OpenVPN.

    La configurazione generica di una VPN esula dall'ambito di questo articolo del Centro assistenza. Dopo aver configurato una VPN, puoi aggiungere l'autenticazione e l'autorizzazione degli utenti via LDAP. In particolare, dovrai installare il plug-in openvpn-auth-ldap.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Copia i file della chiave e del certificato del client LDAP in /etc/openvpn/ldap-client.key e /etc/openvpn/ldap-client.crt.
  3. Crea un file, /etc/openvpn/auth-ldap.conf, contenente quanto segue (supponendo che example.com sia il nome di dominio):

    <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. Modifica il file di configurazione di OpenVPN, in genere denominato /etc/openvpn/server.conf o in modo simile. In fondo al file, aggiungi quanto segue:

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

  5. Riavvia il server OpenVPN.

    $ sudo systemctl restart openvpn@server
  6. Configura i client VPN in modo che utilizzino i nomi utente e le password degli utenti. Ad esempio, in una configurazione client OpenVPN, aggiungi auth-user-pass alla fine del file di configurazione client OpenVPN e avvia il client OpenVPN:

    $ openvpn --config /path/to/client.conf
  7. Segui le istruzioni per utilizzare stunnel come proxy.

OpenVPN Access Server (versione commerciale)

Per istruzioni su come connettere OpenVPN Access Server al servizio LDAP sicuro, leggi come configurare il servizio LDAP sicuro di Google con OpenVPN Access Server.

PaperCut MF e NG

Per istruzioni su come connettere PaperCut al servizio LDAP sicuro, vedi Come sincronizzare e autenticare gli utenti di Google Workspace e Google Cloud Identity in PaperCut.

Puppet Enteprise

Per istruzioni su come connettere Puppet Enterprise al servizio Secure LDAP, leggi l'articolo su Google Cloud Directory per PE.

Softerra LDAP Browser

Importante:prima di iniziare, assicurati di aver installato Softerra LDAP Browser con il numero di versione 4.5 (4.5.19808.0) o successive. Vedi LDAP Browser 4.5.

Segui questi passaggi:

  1. Converti i file della chiave e del certificato client in un file in formato PKCS12. Al prompt dei comandi, inserisci quanto segue:

    Se utilizzi macOS o Linux, usa i seguenti comandi:

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

    Inserisci una password per criptare il file di output.

    In Windows, utilizza i seguenti comandi:

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

    Importante:i due file (<CERT_FILE>.crt e <CERT_FILE>.key) devono trovarsi nella stessa directory. Inoltre, assicurati che sia key che crt abbiano lo stesso nome (con un'estensione diversa). In questo esempio, utilizziamo i nomi ldap-client.crt e ldap-client.key.

  2. In Softerra LDAP Browser, installa la coppia di chiavi.
    1. Vai a Tools > Certificate Manager (Strumenti > Gestione certificati).
    2. Fai clic su Import… (Importa).
    3. Fai clic su Next (Avanti).
    4. Fai clic su Browse… (Sfoglia)
    5. Nell'elenco a discesa Tipo di file nell'angolo in basso a destra della finestra di dialogo, seleziona Personal Information Exchange (*.pfx;*.p12).
    6. Seleziona il file ldap-client.p12 nel passaggio 2 precedente.
    7. Fai clic su Open (Apri) e scegli Next (Avanti).
    8. Inserisci la password di cui al precedente passaggio 2 e fai clic su Next (Avanti).
    9. Seleziona l'archivio certificati Personale.
    10. Fai clic su Avanti.
    11. Fai clic su Fine.
  3. Aggiungi un profilo del server.
    1. Vai a File > Nuovo > Nuovo profilo…
    2. Inserisci un nome per il profilo, ad esempio Google LDAP.
    3. Fai clic su Avanti.

      Inserisci quanto segue:

      Host: ldap.google.com
      Porta:
      636
      DN di base:il tuo nome di dominio in formato DN. (ad es. dc=example,dc=com per example.com)
      Utilizza connessione protetta (SSL): selezionata
    4. Fai clic su Avanti.
    5. Seleziona External (SSL Certificate) (Esterno (Certificato SSL)).
    6. Fai clic su Avanti.
    7. Fai clic su Fine.

Sophos Mobile

Per istruzioni su come connettere Sophos Mobile al servizio LDAP sicuro, leggi come connettere Sophos Mobile a Google Cloud Identity / Google Cloud Directory utilizzando LDAP sicuro.

Splunk

Quando connetti Splunk al servizio LDAP sicuro, assicurati di utilizzare Splunk versione 8.1.4 o successive. Quando utilizzi versioni precedenti di Splunk, ad esempio la versione 8.1.3, potrebbero essere inviate query LDAP eccessive al server LDAP, il che potrebbe comportare l'esaurimento rapido della quota LDAP. Per ulteriori informazioni sui problemi relativi a Splunk versione 8.1.3, vedi Problemi noti di Splunk.

Segui questi passaggi:

  1. Copia i file della chiave e del certificato client LDAP rispettivamente in /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key e /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. Modifica il file ldap.conf per aggiungere le seguenti configurazioni:

    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. Aggiungi le seguenti configurazioni nel file /home/splunkadmin/.ldaprc dell'utente:

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

  4. Aggiungi la strategia LDAP utilizzando l'interfaccia utente web di Splunk. Inserisci i seguenti dettagli e poi fai clic su Salva:

Name

Google Secure LDAP

Host

ldap.google.com

Port (Porta)

636

SSL attivato

Selezionata

Ordine di connessione

1

Bind DN

Inserisci le credenziali di accesso che hai generato nella Console di amministrazione Google.

Password DN di binding

Inserisci le credenziali di accesso che hai generato nella Console di amministrazione Google.

Base DN (DN di base)

Il nome di dominio in formato DN (ad esempio, dc=example,dc=com per il dominio example.com)

Filtro base utenti

Inserisci il filtro base utenti per la classe di oggetti in base a cui vuoi filtrare gli utenti.

Attributo nome utente

uid

Attributo Nome reale

displayname

Attributo email

posta

Attributo di mappatura dei gruppi

dn

DN di base del gruppo

Il nome di dominio in formato DN (ad esempio, ou=Groups,dc=example,dc=com per il dominio example.com)

Filtro di ricerca per gruppi statici

Inserisci il filtro di ricerca gruppi statici per la classe di oggetti in base a cui vuoi filtrare i gruppi statici.

Attributo del nome del gruppo

cn

Attributo membro statico

member

SSSD (Red Hat Enterprise e CentOS)

Durante l'autenticazione, SSSD esegue una ricerca per recuperare ulteriori informazioni sull'utente. Per assicurarti che l'autenticazione utente funzioni correttamente per questo client LDAP, devi attivare Leggi informazioni utente e Leggi informazioni gruppo per tutte le unità organizzative in cui è attivata l'opzione Verifica credenziali utente. Per le istruzioni relative a questa operazione, vedi Configurare le autorizzazioni di accesso.

Per connettere un client SSSD su Red Hat 8 o CentOS 8 al servizio LDAP sicuro:

  1. Aggiungi il client SSSD al servizio LDAP sicuro:
    1. Nella Console di amministrazione Google, vai ad Applicazioni > LDAP > AGGIUNGI CLIENT.
      Assicurati di accedere con il tuo account aziendale e non con il tuo account Gmail personale.
    2. Inserisci i dettagli del client e fai clic su CONTINUA.
    3. Configura le autorizzazioni di accesso:
      Verifica credenziali utente: tutto il dominio
      Lettura informazioni degli utenti: tutto il dominio
      Lettura informazioni dei gruppi:ON
    4. Fai clic su AGGIUNGI CLIENT LDAP.
    5. Scarica il certificato generato.
    6. Fai clic su VAI AI DETTAGLI DEL CLIENT.
    7. Cambia lo stato del servizio impostandolo su ON.
  2. Installa le dipendenze:

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


    Decomprimi il file ZIP del certificato e copia i file .crt e .key in /etc/sssd/ldap
  3. (Facoltativo) Esegui un test con 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


    Quando richiesto, inserisci la password Google dell'utente.

    Nota: all'utente deve essere assegnata una licenza Google Workspace Enterprise o Cloud Identity Premium.

  4. Crea il file /etc/sssd/sssd.conf con il seguente contenuto:

    [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. Aggiorna le autorizzazioni e le etichette SELinux:

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

  6. Riavvia SSSD:

    systemctl restart sssd
  7. Test:

    da ssh a server:

    ssh -l user@example.com {HOSTNAME}

Risoluzione dei problemi

  1. Controlla la versione di SSSD (deve essere maggiore o uguale a 1.15.2):

    # sssd --version
    2.2.3

  2. In RHEL/CentOS (o qualsiasi distribuzione con applicazione di SELinux), i file di configurazione SSSD e il file e la chiave del certificato devono essere in una directory accessibile dal ruolo sssd_conf_t:

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

    Controlla se in /var/log/audit/audit.log sono presenti messaggi di rifiuto AVC.

  3. Controlla che /etc/nsswitch.conf contenga "sss" per le entità passwd, shadow, group e netgroup:

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


    In questo caso, i file locali sostituiranno gli utenti LDAP.
  4. Controlla /var/log/sssd.conf per errori di configurazione:

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

    Azione: devi impostare i permessi di lettura e scrittura per il file .conf.

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

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

    Azione: rimuovi le estensioni LDAP delle corrispondenze dei gruppi non supportate da sssd.conf.

  5. Verifica se in /var/log/sssd_{DOMAIN}.log sono presenti errori LDAP, di rete o di autorizzazione.

    Esempio:

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

    Azione: devi aggiungere "ldap_tls_reqcert = never" a sssd.conf.

    Per aumentare il livello di dettaglio degli errori, aggiungi "debug_level = 9" in sssd.conf nella sezione del dominio e riavvia sssd.

SSSD (altre distribuzioni Linux)

Durante l'autenticazione, SSSD esegue una ricerca per recuperare ulteriori informazioni sull'utente. Per assicurarti che l'autenticazione utente funzioni correttamente per questo client LDAP, devi attivare Leggi informazioni utente e Leggi informazioni gruppo per tutte le unità organizzative in cui è attivata l'opzione Verifica credenziali utente. Per le istruzioni relative a questa operazione, vedi Configurare le autorizzazioni di accesso.

Per connettere un client SSSD al servizio LDAP sicuro:

  1. Installa SSSD versione >= 1.15.2.

    $ sudo apt-get install sssd
  2. Supponendo che i file del certificato e della chiave client siano denominati /var/ldap-client.crt e /var/ldap-client.key e che il tuo dominio sia example.com, modifica /etc/sssd/sssd.conf con una configurazione come la seguente:


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

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

  3. Modifica la proprietà e l'autorizzazione del file di configurazione:

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

  4. Riavvia SSSD:

    $ sudo service sssd restart

Suggerimento:se utilizzi il modulo SSSD su computer Linux senza indirizzi IP esterni su Google Compute Engine, puoi comunque connetterti al servizio Secure LDAP, a condizione che l'accesso interno ai servizi Google sia abilitato. Per maggiori dettagli, vedi Configurazione dell'accesso privato Google.

macOS

Segui questi passaggi per connettere il client macOS per l'autenticazione degli account utente tramite il servizio LDAP sicuro.

Requisiti di sistema

  • macOS deve essere Catalina versione 10.15.4 o successiva.
  • L'ID utente super amministratore di Google è necessario per completare il passaggio 1 della fase di preparazione.
  • Devi avere le autorizzazioni amministrative locali per eseguire questa configurazione.

Contenuti:

Fase di preparazione

Le istruzioni riportate in questa sezione sono incentrate su come impostare e testare manualmente l'autenticazione macOS utilizzando il servizio LDAP sicuro.

Passaggio 1: esegui l'onboarding di macOS come client LDAP nella Console di amministrazione Google

Per istruzioni, vedi Aggiungere client LDAP o guarda questa demo di LDAP sicuro. Durante questa procedura, scaricherai anche un certificato client TLS generato automaticamente.

Passaggio 2: importa il certificato nel portachiavi di sistema

  1. Copia il certificato (il file ZIP scaricato nel passaggio 1) e la chiave nel computer macOS.
    Suggerimento:decomprimi il file per trovare i file di certificato e chiave.
  2. Importa la coppia di chiavi nel portachiavi di sistema:
    1. Converti la chiave e il certificato in un file PKCS 12 (p12). Esegui questo comando nel terminale:

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

      Suggerimento:annota il nome del file .p12.

      Il sistema ti chiederà di inserire una password. Inserisci una password con cui criptare il file .p12.

    2. Apri l'applicazione Accesso Portachiavi.

    3. Fai clic sul portachiavi Sistema.

    4. Fai clic su File > Importa elementi.

    5. Seleziona il file ldap-client.p12 creato in precedenza.

    6. Se richiesto, inserisci la password dell'amministratore per consentire la modifica del portachiavi di sistema.

    7. Inserisci la password creata in precedenza per decriptare il file .p12.

      Nota: nella lista delle chiavi verrà visualizzato un nuovo certificato e la chiave privata associata. Il nome del certificato può essere LDAP Client (Client LDAP). Annota il nome del certificato per il passaggio successivo.
    8. Segui il passaggio 6 della sezione ldapsearch (macOS) di questo articolo per configurare il controllo dell'accesso per la chiave privata in modo da aggiungere le app specificate di seguito. Se la chiave privata non viene visualizzata nella categoria Tutti gli elementi, prova a passare alla categoria I miei certificati e individua la voce della chiave privata corretta espandendo il certificato corrispondente.

      L'app ldapsearch, come specificato nelle istruzioni, è pertinente solo se è necessario risolvere dei problemi, non per altri scopi. Viene in genere rimosso prima di fornire agli utenti l'accesso a macOS.

      Le seguenti tre app devono essere aggiunte all'elenco di controllo dell'accesso:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Aggiungi una riga al file /etc/openldap/ldap.conf, assicurandoti che "LDAP Client" sia esattamente lo stesso nome del certificato mostrato nell'applicazione Accesso Portachiavi di macOS dopo l'importazione del file .p12 (il nome deriva dal nome comune del soggetto X.509 del certificato generato):

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

Passaggio 3: indirizza il dispositivo alla directory Google per l'autenticazione

Apri l'applicazione Directory Utility per creare un nuovo nodo di directory LDAP:

  1. Fai clic sul lucchetto per apportare le modifiche e inserisci la password.
  2. Seleziona LDAPv3 e fai clic sull'icona a forma di matita per modificare le impostazioni.
  3. Fai clic su Novità.
  4. Per il nome del server, inserisci ldap.google.com, seleziona Cripta utilizzando SSL e fai clic su Manuale.
  5. Seleziona il nuovo nome del server e fai clic su Modifica.
  6. Inserisci un nome descrittivo, ad esempio Google Secure LDAP, per il nome della configurazione.
  7. Seleziona Crittografa utilizzando SSL e assicurati che la porta sia impostata su 636.
  8. Vai alla scheda Ricerca & Assegnazione.
    1. Scegli RFC2307 dall'elenco a discesa Accedi a questo server LDAPv3 utilizzando.
    2. Quando richiesto, inserisci le informazioni relative al dominio in Suffisso per la base di ricerca. Ad esempio, inserisci dc=zomato,dc=com per un nome di dominio zomato.com.
    3. Fai clic su OK.
    4. Configura gli attributi nel tipo di record Utenti:
      1. Nella sezione Tipi e attributi di record, seleziona Utenti e fai clic sul pulsante "+".
      2. Nella finestra popup, scegli Tipi di attributi, seleziona GeneratedUID e poi fai clic su Ok per chiudere la finestra popup.

        GeneratedUID dovrebbe essere visualizzato in Utenti dopo l'espansione.
      3. Fai clic su GeneratedUID e poi sull'icona "+" nella casella a destra.
      4. Inserisci apple-generateduid nella casella di testo e fai clic su Invio.
      5. Nel nodo Utenti, fai clic sull'attributo NFSHomeDirectory.
      6. Nella schermata a destra, aggiorna il valore di questo attributo a #/Users/$uid$
      7. Fai clic su Ok e inserisci la password per salvare le modifiche.
  9. Nella finestra Directory Utility, configura la nuova configurazione LDAP:
    1. Vai alla scheda Norme per la ricerca.
    2. Fai clic sull'icona lucchetto per apportare le modifiche e inserisci la password dell'utente corrente quando richiesto.
    3. Modifica l'opzione del menu a discesa da Percorso di ricerca a Percorso personalizzato.
    4. Apri la scheda Autenticazione e fai clic sull'icona "+".
    5. Scegli /LDAPv3/ldap.google.com dall'elenco Domini della directory e poi fai clic su Aggiungi.
    6. Fai clic sul pulsante Applica e inserisci la password amministratore, se richiesto.
  10. Esegui i quattro comandi che seguono per disattivare i meccanismi di autenticazione SASL DIGEST-MD5, CRAM-MD5, NTLM e GSSAPI. macOS utilizzerà Simple Bind per l'autenticazione tramite il servizio Google Secure LDAP:

    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. Riavvia il computer per ricaricare la configurazione di OpenDirectory.

Passaggio 4: crea un account mobile (consente l'accesso offline)

Qualsiasi utente di Google Workspace o Cloud Identity può accedere con un account di rete (Account Google) utilizzando il proprio nome utente e la propria password. La procedura di accesso richiede una connessione di rete. Se un utente deve eseguire l'accesso con o senza connessione alla rete, è possibile creare un account dispositivo mobile. Un account mobile ti consente di utilizzare il nome utente e la password dell'account di rete (Account Google) per accedere, indipendentemente dalla connessione alla rete. Per maggiori dettagli, vedi Creare e configurare account mobili su Mac.

Per creare un account dispositivo mobile per gli utenti di LDAP sicuro:

  1. Esegui il seguente comando per connetterti al server LDAP sicuro e configurare un percorso home e uno o più account mobile:

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

    Suggerimento:sostituisci $uid con la parte del nome utente dell'indirizzo email associato all'Account Google dell'utente. Ad esempio, jsmith è la parte del nome utente per jsmith@solarmora.com.

  2. Quando ti viene chiesto il nome utente amministratore SecureToken, inserisci il tuo nome utente amministratore e la password nel prompt successivo. In questo modo, $uid verrà aggiunto a FileVault. È necessario se il disco macOS è criptato.

Passaggio 5 (facoltativo): imposta la preferenza della schermata di accesso

  1. Vai a Preferenze di sistema > Utenti e gruppi > Opzioni di accesso in basso a sinistra.
  2. Per sbloccare, devi fornire le credenziali di amministratore.
  3. Modifica l'opzione Visualizza finestra di accesso come in Nome e password.

Passaggio 6: riavvia e accedi al dispositivo

  1. Assicurati che il dispositivo sia connesso a Internet. Se non hai una connessione a internet, l'accesso per l'utente Secure LDAP non funzionerà.
    Nota:la connessione a internet è necessaria solo per il primo accesso. I login successivi possono avvenire senza accesso a internet.
  2. Accedi al dispositivo con l'account utente configurato per utilizzare LDAP sicuro per l'autenticazione.

Fase di deployment

Le istruzioni contenute in questa sezione sono incentrate sull'automazione della configurazione dei dispositivi per gli utenti. Esegui i passaggi 1 e 2 di seguito sullo stesso dispositivo macOS su cui hai completato la configurazione manuale durante la fase di preparazione.

Passaggio 1: crea un profilo Mac con certificato utilizzando Apple Configurator 2

  1. Installa Apple Configurator 2 sul computer dove hai configurato manualmente l'autenticazione macOS con LDAP sicuro.
  2. Apri Apple Configurator 2, crea un nuovo profilo e, nella sezione dei certificati, fai clic su Configura e importa il file .p12 generato in precedenza.

    Nota:assicurati che il file .p12 abbia una password. Inserisci questa password nella sezione Password del certificato.

  3. Salva questo profilo.
  4. Per i dispositivi che utilizzano processori M1 o M2, salta questo passaggio e vai al passaggio 5. ) Apri il profilo in qualsiasi editor di testo e aggiungi le seguenti righe nel primo tag <dict>:

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


    Il motivo di questa aggiunta è che Apple Configurator non supporta ancora i profili per macOS.
  5. Nel secondo tag <dict>, parallelo ai dati del certificato, aggiungi le seguenti righe:

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


    In questo modo avrai la certezza che sia possibile accedere a questo certificato da tutte le applicazioni.

Passaggio 2: converti il file di configurazione della directory (plist) in XML

In questo passaggio, estrai tutte le configurazioni manuali che hai completato durante il passaggio 3 della fase di preparazione in un file XML. Puoi utilizzare questo file e il profilo Mac creato nel passaggio 1 sopra per configurare automaticamente altri dispositivi macOS.

  1. Copia /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist sul desktop o altrove.
  2. Convertilo in XML per poterlo esaminare in qualsiasi editor di testo. Esegui questo comando nel terminale:

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

    Puoi accedere al file come <path>/ldap.google.com.plist.
  3. Modifica l'autorizzazione del file precedente in modo da poter aprire il file XML. Assicurati che non sia vuoto.

Passaggio 3: crea uno script Python per automatizzare la configurazione sui dispositivi degli utenti finali

Copia lo script Python seguente e salvalo come file Python (file .py).

Nota:questo script di esempio è progettato per essere compatibile con la versione 3.10.x di Python. Questo script viene fornito così com'è. L'Assistenza Google non fornirà alcun supporto per gli script di esempio.

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

Passaggio 4: configura automaticamente i dispositivi degli utenti finali

Vai agli altri dispositivi macOS che vuoi configurare e segui questi passaggi:

  1. Copia nel dispositivo il file del profilo Mac generato nel passaggio 1, il file di configurazione XML generato nel passaggio 2 e lo script Python del passaggio 3.
  2. Per installare la dipendenza necessaria per lo script, esegui questo comando:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Esegui questo comando:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. Per importare i certificati nel portachiavi di sistema di macOS, fai doppio clic sul file del profilo Mac generato nel passaggio 1 e, quando richiesto, fornisci le tue credenziali di amministratore locale di macOS. Ti verrà quindi chiesto di inserire la password .p12 che hai impostato durante la fase di preparazione.
  5. Riavvia il computer macOS.
  6. Crea account mobili come indicato nel passaggio 4 della fase di preparazione e, se vuoi, imposta preferenze aggiuntive descritte nel passaggio 5 della fase di preparazione.

Limitazioni e linee guida

  • Per gli utenti che accedono a macOS utilizzando le proprie credenziali Google, il nome utente dell'account Workspace deve essere diverso dall'ID utente del profilo utente macOS, altrimenti l'accesso viene bloccato.
  • Quando un utente inizia ad accedere a macOS utilizzando le credenziali Google, la gestione delle password utente (ripristino o recupero) deve avvenire sul sito web di Google (ad esempio, su myaccount.google.com o nella Console di amministrazione Google). Se scegli di gestire le password utilizzando una soluzione di terze parti, assicurati che l'ultima password sia sincronizzata con Google.
  • Se l'amministratore crea un nuovo utente o reimposta la password di un utente esistente con l'impostazione Richiedi di cambiare la password all'accesso successivo attiva, l'utente non può accedere al Mac utilizzando la password temporanea impostata dall'amministratore.
    Soluzione alternativa: l'utente deve accedere a Google utilizzando un altro dispositivo (ad esempio il dispositivo mobile o un altro dispositivo desktop), impostare una password permanente e poi accedere a macOS utilizzando la nuova password.
  • Il Mac deve essere collegato a una connessione Internet funzionante in modo che ldap.google.com sia raggiungibile durante il primo accesso dopo la configurazione descritta sopra. Gli accessi successivi non richiederanno l'accesso a internet purché tu abbia deciso di configurare un conto telefonico.
  • L'integrazione di Google LDAP sicuro con macOS viene testata su macOS Catalina, Big Sur e Monterey.

Risoluzione dei problemi

In caso di problemi di connessione al servizio LDAP sicuro, segui le istruzioni riportate di seguito.

Passaggio 1: verifica la connessione.

Verifica la connessione utilizzando odutil.
Esegui il comando odutil show nodenames nel terminale.
Verifica che lo stato di /LDAPv3/ldap.google.com sia online. Se non è online, prova l'opzione telnet.

Verifica la connessione utilizzando nc.
Esegui il seguente comando nel terminale: nc -zv ldap.google.com 636
Se non riesci a connetterti a Google utilizzando questo approccio, prova a connetterti utilizzando IPv4.

Verifica la connessione con IPv4.
Puoi impostare l'utilizzo del protocollo IPv4 nel dispositivo nel seguente modo:

  1. Vai a Preferenze di Sistema > Rete > Wi-Fi > Avanzate.
  2. Nel menu delle opzioni avanzate, vai alla scheda TCP/IP.
  3. Modifica la selezione del menu a discesa da Configura IPv6 a Solo link-local.
  4. Fai clic su Ok e poi su Applica per salvare le modifiche.
  5. Verifica l'autenticazione del servizio tramite la connettività ldapsearch e convalida la ricerca.

Passaggio 2: controlla se riesci a visualizzare gli oggetti della directory.

  1. Apri Directory Utility, quindi la scheda Directory Editor.
  2. Seleziona il nodo /LDAPv3/ldap.google.com nell'elenco a discesa.
  3. Verifica se sei in grado di visualizzare gli utenti e i gruppi del tuo dominio Google.

Istruzioni di configurazione per le applicazioni Java

La maggior parte delle applicazioni basate su Java che offrono funzionalità LDAP può essere configurata per l'autenticazione con certificati client installando i certificati client nell'archivio chiavi dell'applicazione. I file di configurazione esatti variano a seconda delle applicazioni, ma la procedura è generalmente simile. La configurazione richiede l'installazione di OpenSSL e di un ambiente Java Runtime Environment.

  1. Converti il certificato e le chiavi nel formato Java keystore. Ti verrà richiesta la password durante questa procedura. Seleziona una password sicura e utilizza la stessa per tutti i prompt. Supponendo che il file della chiave client si chiami ldap-client.key:

    Se utilizzi macOS o Linux, esegui questi comandi:

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

    In Windows, utilizza i seguenti comandi:

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

    Importante:i due file (<CERT_FILE>.crt e <CERT_FILE>.key) devono trovarsi nella stessa directory. Inoltre, assicurati che sia key che crt abbiano lo stesso nome (con le due estensioni diverse). In questo esempio, utilizziamo i nomi ldap-client.crt e ldap-client.key.

  2. Importa il certificato nell'archivio chiavi:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Le proprietà Java possono essere configurate in modi diversi a seconda dell'applicazione. Spesso puoi impostarli con l'opzione -D nella riga di comando "java" utilizzata per avviarlo. Imposta le proprietà Java per la tua applicazione come segue:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Configura le impostazioni di connessione LDAP dell'applicazione utilizzando le informazioni in Istruzioni di configurazione di base.

(Facoltativo) Utilizza stunnel come proxy

Per i client che non offrono un modo per autenticarsi su LDAP con un certificato client, utilizza stunnel come proxy.

Configura stunnel per fornire il certificato client al server LDAP e configura il client per connettersi a stunnel. Idealmente, eseguirai stunnel sullo stesso server o sugli stessi server dell'applicazione e ascolterai solo localmente in modo da non esporre la directory LDAP oltre questo server.

Segui questi passaggi:

  1. Installa stunnel. Ad esempio, su Ubuntu:

    $  sudo apt-get install stunnel4
    
  2. Crea un file di configurazione /etc/stunnel/google-ldap.conf con il seguente contenuto (supponendo che ldap-client.crt sia il certificato e ldap-client.key sia la chiave):

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

  3. Per attivare stunnel, modifica /etc/default/stunnel4 con la seguente impostazione: ENABLED=1.

  4. Riavvia stunnel.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Configura la tua applicazione in modo che rimandi a ldap://127.0.0.1:1636.

    Puoi sostituire "1636" con qualsiasi porta inutilizzata se modifichi anche la riga accept nel file di configurazione riportato sopra. Dovrai utilizzare LDAP in testo normale senza StartTLS/SSL/TLS abilitato tra il client e stunnel, poiché comunicano localmente.

Nota:se scegli di eseguire stunnel su un server separato, devi configurare i firewall in modo che solo le applicazioni necessarie possano accedere al server stunnel. Puoi anche configurare stunnel per l'ascolto con TLS in modo che i dati tra l'applicazione e i server stunnel vengano criptati. I dettagli di entrambe le configurazioni dipendono dal tuo ambiente.

Passaggi successivi

Dopo aver connesso il client LDAP al servizio LDAP sicuro, devi impostare lo stato del servizio su Attivo per il client LDAP.

Per i passaggi successivi, vedi 5. Imposta i client LDAP su On.

Nota:se necessario, puoi utilizzare strumenti semplici come ldapsearch, ADSI o ldp.exe per la risoluzione dei problemi se si verificano errori durante il tentativo di connessione del client LDAP al servizio. Per istruzioni, vedi Test di connettività e risoluzione dei problemi.