4. Połącz klienty LDAP z usługą Bezpieczny LDAP

Postępuj zgodnie z instrukcjami w tym artykule, aby połączyć klienta LDAP z usługą Bezpieczny LDAP.

Ważne:

  • Zapoznaj się z dokumentacją dostawcy
    Szczegóły podane w tym artykule dotyczące łączenia klienta LDAP z usługą Bezpieczny LDAP mają charakter wyłącznie informacyjny i mogą ulec zmianie. Oprócz tych instrukcji pomocy zapoznaj się z dokumentacją dostawcy, aby uzyskać najbardziej aktualne informacje o łączeniu klienta z usługą Bezpieczny LDAP.
  • Zanim zaczniesz
     Zanim skorzystasz z tych instrukcji, upewnij się, że klient został już dodany do usługi Bezpieczny LDAP, skonfigurowano uprawnienia dostępu, pobrano certyfikat i klucz klienta oraz opcjonalnie utworzono dane logowania.
  • Testowanie połączenia
     Opcjonalnie przed rozpoczęciem tych kroków możesz przeprowadzić szybki test połączenia za pomocą prostych narzędzi, takich jak ldapsearch, ADSI i ldp.exe. Jeśli podczas próby połączenia klienta LDAP z usługą wystąpią błędy, możesz też użyć tych narzędzi do rozwiązywania problemów. Instrukcje znajdziesz w artykule Testowanie połączenia z usługą Bezpieczny LDAP.
  • Jak wykonać czynności konfiguracyjne
    Po połączeniu klienta LDAP zgodnie z instrukcjami na tej stronie musisz dokończyć konfigurację klienta LDAP, zmieniając stan usługi na Włączona w konsoli administracyjnej Google. Instrukcje znajdziesz w sekcji 5. Przełącz klientów LDAP na Włączone.

Zawartość tego artykułu

W tym artykule znajdują się następujące sekcje:

W tych instrukcjach zakładamy, że pobrane pliki klucza klienta i certyfikatu mają nazwy ldap-client.key i ldap-client.crt.

Podstawowe instrukcje konfiguracji

Ta sekcja zawiera ogólne instrukcje dotyczące łączenia klienta LDAP z usługą Bezpieczny LDAP. Jeśli Twojego klienta LDAP nie ma na liście w instrukcjach poniżej, zapoznaj się z dokumentacją tej aplikacji.

Uwaga: niektórzy klienci LDAP, np. Atlassian Jira i SSSD, podczas uwierzytelniania użytkownika wyszukują go, aby uzyskać więcej informacji. Aby uwierzytelnianie użytkowników działało prawidłowo w przypadku takich klientów LDAP, musisz włączyć opcję Odczytywanie informacji o użytkownikach we wszystkich jednostkach organizacyjnych, w których jest włączona opcja Weryfikowanie danych logowania użytkowników. (Instrukcje znajdziesz w sekcji Konfigurowanie uprawnień dostępu).

Aby połączyć klienta LDAP z usługą Bezpieczny LDAP:

  1. Skonfiguruj klienta LDAP, ustawiając Cloud Directory jako serwer LDAP.
  2. Prześlij certyfikat do klienta LDAP.

    Usługa Bezpieczny LDAP używa certyfikatów TLS klienta jako podstawowego mechanizmu uwierzytelniania. Aby rozpocząć proces przesyłania certyfikatu do klienta LDAP, otwórz ustawienia uwierzytelniania lub katalogu klienta LDAP i wpisz szczegóły z tabeli poniżej.

    Uwaga: szczegółowe informacje o tym, jak i gdzie przesyłać certyfikaty TLS, znajdziesz w dokumentacji dostawcy.

W poniższej tabeli znajdziesz podstawowe informacje o połączeniu:

Hostname (Nazwa hosta)

ldap.google.com

Porty

389 w przypadku klienta LDAP z włączoną obsługą StartTLS
636 w przypadku klienta LDAPS (z włączoną obsługą SSL/TLS)

Base DN (Podstawowa nazwa wyróżniająca)

Domena w formacie DN. Przykład:

dc=example,dc=com w przypadku domeny example.com

Nazwa użytkownika i hasło

Oprócz uwierzytelniania za pomocą certyfikatu niektóre klienty LDAP wymagają podania nazwy użytkownika i hasła. Jeśli pola nazwy użytkownika i hasła nie są obowiązkowe, możesz pominąć ten krok.

Wygeneruj nazwę użytkownika i hasło w konsoli administracyjnej Google. Odpowiednie instrukcje znajdziesz w temacie Generowanie danych logowania.

Pliki certyfikatu klienta i klucza

Użyj certyfikatu i pliku klucza pobranego z konsoli administracyjnej Google. Jeśli klient LDAP nie umożliwia uwierzytelniania za pomocą certyfikatu klienta, zapoznaj się z artykułem Używanie stunnel jako serwera proxy.

WAŻNE: niektórzy klienci LDAP, np. Apache Directory Studio, nie obsługują przesyłania certyfikatów cyfrowych. Rozwiązanie dla takiego scenariusza opisano w sekcji Używanie programu stunnel jako serwera proxy.

Instrukcje konfiguracji dla konkretnych klientów LDAP

Narzędzie Edycja ADSI (Windows)

Aby to zrobić:

  1. Aby zainstalować certyfikaty klienta, wykonaj kroki 1–11 w sekcji ldp.exe (Windows).
  2. Otwórz Akcja > Połącz z…
  3. Wpisz te ustawienia połączenia:

    Nazwa: wpisz nazwę połączenia, np. LDAP Google.
    Punkt połączenia: „Wybierz lub wpisz nazwę wyróżniającą lub kontekst nazewnictwa”
    Wpisz nazwę domeny w formacie DN (np. dc=example,dc=com dla example.com).

    Komputer: „Wybierz lub wpisz domenę lub serwer”
    ldap.google.com

    Używaj szyfrowania opartego na SSL: zaznaczone
  4. Kliknij Zaawansowane... i wpisz te dane:

    Określ dane logowania: zaznaczone
    Nazwa użytkownika: nazwa użytkownika danych logowania z konsoli administracyjnej
    Hasło: hasło danych logowania z konsoli administracyjnej
    Numer portu: 636
    Protokół: LDAP
    Uwierzytelnianie za pomocą prostego powiązania: zaznaczone
  5. Kliknij OK, a następnie ponownie kliknij OK.
  6. Jeśli uda się nawiązać łączność, w prawym okienku zostanie wyświetlona zawartość Active Directory w obszarze podstawowej nazwy wyróżniającej.

Apache Directory Studio

Aby korzystać z Apache Directory Studio, połącz się przez stunnel i użyj danych logowania (nazwy użytkownika i hasła) wygenerowanych w konsoli administracyjnej Google. Zakładając, że masz już dane logowania, a stunnel nasłuchuje na porcie 1389 na hoście lokalnym, wykonaj te czynności:

  1. Kliknij File > New… (Plik > Nowy).
  2. Wybierz LDAP Browser > LDAP Connection (Przeglądarka LDAP > Połączenie LDAP).
  3. Kliknij Dalej.
  4. Wpisz parametry połączenia:

    Nazwa połączenia: wybierz nazwę, np. Google LDAP
    Nazwa hosta: localhost
    Port: 1389 (lub port nasłuchiwania/akceptowania stunnel)
    Metoda szyfrowania: brak szyfrowania (uwaga: jeśli stunnel działa zdalnie, zalecane jest szyfrowanie między stunnel a klientem).
  5. Kliknij Dalej.
  6. Wpisz parametry uwierzytelniania:

    Metoda uwierzytelniania: proste uwierzytelnianie
    Nazwa wyróżniająca lub użytkownik: nazwa użytkownika poświadczeń dostępu z konsoli administracyjnej
    Hasło powiązania: hasło poświadczeń dostępu z konsoli administracyjnej
  7. Kliknij Dalej.
  8. Wpisz podstawową nazwę wyróżniającą.
    Jest to nazwa domeny w formacie DN (dc=example,dc=com dla example.com).
  9. Kliknij Zakończ.

Atlassian Jira

Atlassian Jira przeprowadza wyszukiwanie użytkownika, aby uzyskać więcej informacji o nim podczas uwierzytelniania. Aby uwierzytelnianie użytkowników działało prawidłowo w przypadku tego klienta LDAP, musisz włączyć opcje Odczytywanie informacji o użytkownikach i Odczytywanie informacji o grupach we wszystkich jednostkach organizacyjnych, w których włączona jest opcja Weryfikowanie danych logowania użytkowników. Odpowiednie instrukcje znajdziesz w artykule Skonfiguruj uprawnienia dostępu.

Ważne: korzystając z podanych niżej instrukcji, można potencjalnie ujawnić hasło do magazynu kluczy użytkownikom i w plikach dziennika. Podejmij środki ostrożności, aby uniknąć nieautoryzowanego dostępu do lokalnej powłoki, pliku dziennika i konsoli administracyjnej Google. Zamiast postępować zgodnie z poniższymi instrukcjami, możesz użyć metody stunnel4 (patrz Opcjonalnie: użyj stunnel jako serwera proxy).

Uwaga: w instrukcjach przyjęliśmy, że Jira jest zainstalowana w lokalizacji /opt/atlassian/jira.

Aby połączyć klienta Atlassian Jira z usługą Bezpieczny LDAP:

  1. Skopiuj certyfikat i klucz na serwery Jira. (Jest to certyfikat wygenerowany w konsoli administracyjnej Google podczas dodawania klienta LDAP do usługi Bezpieczny LDAP).

    Przykład:
    $ scp ldap-client.key user@jira-server:
  2. Przekonwertuj certyfikat i klucze na format magazynu kluczy Java. Podczas tego procesu pojawi się prośba o podanie haseł. Dla uproszczenia wybierz bezpieczne hasło i używaj go przy wszystkich prośbach.

    $ 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. Skonfiguruj klienta Jira, aby używał nowo utworzonego magazynu kluczy. Aby dodać opcje, postępuj zgodnie z instrukcjami tutaj:

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

    W systemie Linux:
    1. Edytuj plik /opt/atlassian/jira/bin/setenv.sh.
    2. Znajdź ustawienie JVM_SUPPORT_RECOMMENDED_ARGS.
    3. Dodaj „-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password”, zastępując „password” hasłem wybranym powyżej.
  4. Uruchom ponownie klienta Jira.

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

  5. Zaloguj się w interfejsie internetowym Jira jako administrator.
    1. Wybierz Ustawienia > Zarządzanie użytkownikami. Aby wyświetlić ustawienia, kliknij ikonę koła zębatego w prawym górnym rogu.
    2. Kliknij User Directories (Katalogi użytkowników).
    3. Kliknij Dodaj katalog.
    4. Jako typ wybierz LDAP.
    5. Kliknij Dalej.
  6. Podaj te informacje:

    Nazwa

    Bezpieczny LDAP Google

    Directory type (Typ katalogu)

    OpenLDAP

    Hostname (Nazwa hosta)

    ldap.google.com

    Port

    636

    Use SSL (Użyj połączenia SSL)

    Zaznaczono

    Nazwa użytkownika

    Wygeneruj nazwę użytkownika i hasło w konsoli administracyjnej Google. Odpowiednie instrukcje znajdziesz w temacie Generowanie danych logowania.

    Hasło

    Wygeneruj nazwę użytkownika i hasło w konsoli administracyjnej Google. Odpowiednie instrukcje znajdziesz w temacie Generowanie danych logowania.

    Base DN (Podstawowa nazwa wyróżniająca)

    Nazwa domeny w formacie nazwy wyróżniającej (np. dc=example,dc=com w przypadku domeny example.com)

    Additional User DN (Dodatkowa nazwa wyróżniająca użytkownika)

    Parametr opcjonalny. "ou=Users"

    Additional Group DN (Dodatkowa nazwa wyróżniająca grupy)

    Parametr opcjonalny. "ou=Groups"

    LDAP Permissions (Uprawnienia LDAP)

    Tylko do odczytu

    Advanced Settings (Ustawienia zaawansowane)

    Bez zmian

    User Schema Settings (Ustawienia schematu użytkownika) >
    User Name Attribute (Atrybut nazwy użytkownika)

    googleUid

    User Schema Settings (Ustawienia schematu użytkownika) >
    User Name RDN Attribute (Atrybut RDN nazwy użytkownika)

    uid

    Group Schema Settings (Ustawienia schematu grupy) >
    Group Object Class (Klasa obiektów grupy)

    groupOfNames

    Group Schema Settings (Ustawienia schematu grupy) >
    Group Object Filter (Filtr obiektów grupy)

    (objectClass=groupOfNames)

    Membership Schema Settings (Ustawienia schematu członkostwa) >
    Group Members Attribute (Atrybuty członków grupy)

    member

    Membership Schema Settings (Ustawienia schematu członkostwa) >
    Use the User Membership Attribute (Użyj atrybutu członkostwa użytkownika)

    Zaznaczono
  7. Nadaj rolę grupie.

    Zanim Atlassian Jira umożliwi użytkownikowi zalogowanie się, musi on należeć do grupy, która ma dostęp do Jira.

    Aby nadać rolę grupie:
    1. Kliknij Settings > Applications > Application access (Ustawienia > Aplikacje > Dostęp do aplikacji).
    2. W polu tekstowym Wybierz grupę wpisz nazwę grupy Google, której chcesz przyznać dostęp do Jiry.

CloudBees Core/Jenkins

Instrukcje łączenia rozwiązania CloudBees Core z usługą Bezpieczny LDAP znajdziesz w artykule Configure CloudBees Core with Google's Cloud Identity Secure LDAP (Konfigurowanie CloudBees Core do pracy z usługą Bezpieczny LDAP Google Cloud Identity).

FreeRadius

Aby to zrobić:

  1. Zainstaluj i skonfiguruj FreeRADIUS w lokalizacji /etc/freeradius/3.0/.

    Gdy to zrobisz, dodaj konfigurację LDAP. W tym celu zainstaluj wtyczkę freeradius-ldap.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Skopiuj pliki klucza i certyfikatu klienta LDAP do /etc/freeradius/3.0/certs/ldap-client.key i /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. Włącz moduł LDAP.

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

  4. Edytuj plik /etc/freeradius/3.0/mods-available/ldap.
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identity = nazwa użytkownika z danych logowania do aplikacji
    3. password = hasło z danych logowania do aplikacji
    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. Zmień w komentarz wszystkie pola w menu nawigacyjnym reprezentującym sekcję 'ldap -> post-auth -> update'
  5. Edytuj plik /etc/freeradius/3.0/sites-available/default.
    Spowoduje to zmianę połączenia z klientem FreeRadius. Jeśli nie używasz domyślnego klienta, zaktualizuj odpowiedniego klienta (wewnętrzny tunel lub dowolnego klienta niestandardowego), którego masz skonfigurowanego.
    1. Zmodyfikuj sekcję authorize, aby na dole dodać ten blok po instrukcji protokołu uwierzytelniania za pomocą hasła (PAP):

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

    2. W sekcji authorize włącz LDAP, usuwając znak „-” przed nim.

      #
      # Moduł ldap odczytuje hasła z bazy danych LDAP.
      ldap
    3. Zmodyfikuj sekcję authenticate, edytując blok Auth-Type LDAP w ten sposób:

      # Auth-Type LDAP {
      ldap
      # }

    4. Zmodyfikuj sekcję authenticate, edytując blok Auth-Type PAP w ten sposób:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Instrukcje dotyczące łączenia GitLab z usługą Bezpieczny LDAP znajdziesz w artykule dotyczącym konfigurowania usługi Bezpieczny LDAP Google na potrzeby GitLab.

Itopia/Ubuntu

Instrukcje dotyczące łączenia rozwiązania Itopia/Ubuntu z usługą Bezpieczny LDAP znajdziesz w artykule Configuring Google Cloud Identity LDAP on Ubuntu 16.04 for user logins (Konfigurowanie Google Cloud Identity LDAP w systemie Ubuntu 16.04 na potrzeby logowania użytkowników).

Ivanti/LanDesk

Aby to zrobić:

  1. Na serwerze internetowym Ivanti otwórz plik OpenLDAPAuthenticationConfiguration.xml lub OpenLDAPSSLAuthenticationConfiguration.xml w edytorze tekstu w obu tych folderach:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework i C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (gdzie servicedesk to nazwa instancji).
  2. Zmień wartość <Server> na ldap.google.com.
  3. Zaktualizuj wartość <Port> na port 3268 dla tekstu nieszyfrowanego z włączoną opcją StartTLS i na 3269 dla portu SSL/TLS (wartości domyślne to 389 dla portu tekstu nieszyfrowanego lub 636 dla portu SSL/TLS).
  4. Ustaw wartość <TestDN> na nazwę domeny w formacie DN. (np. dc=example,dc=com w przypadku example.com).
  5. Do plików ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config i ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config dodaj wiersz:

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

    lub wiersz:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
  6. W usłudze Ivanti Configuration Center otwórz wymagane wystąpienie.
  7. Obok aplikacji Service Desk Framework kliknij Edit (Edytuj).
    Zostanie wyświetlone okno Edit Application (Edycja aplikacji) dla aplikacji Service Desk Framework.
  8. W grupie Configuration parameters (Parametry konfiguracji) wybierz Explicit only (Tylko jawne) na liście Logon policy (Zasady logowania), a następnie kliknij OK.
  9. Obok aplikacji Dostęp do internetu kliknij Edytuj.
    Zostanie wyświetlone okno Edit Application (Edycja aplikacji) dla aplikacji Web Access.
  10. W grupie Parametry konfiguracji na liście Zasady logowania wybierz Tylko jawne, a następnie kliknij OK.

Podczas logowania użyj hasła sieciowego użytkownika powiązanej domeny.

Logowanie wyjątków w przypadku uwierzytelniania serwera LDAP

Jeśli masz problemy z konfigurowaniem uwierzytelniania serwera LDAP, możesz włączyć rejestrowanie wyjątków, aby ułatwić sobie zidentyfikowanie problemu. Domyślnie rejestrowanie wyjątków jest wyłączone i zalecamy jego ponowne wyłączenie po zakończeniu sprawdzania.

Aby włączyć logowanie wyjątków w przypadku uwierzytelniania serwera LDAP:

  1. Otwórz odpowiedni plik XML konfiguracji uwierzytelniania w edytorze tekstu:

    DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml lub OpenLDAPSSLAuthenticationConfiguration.xml
  2. Zmień wiersz:

    <ShowExceptions>false</ShowExceptions>
    na
    <ShowExceptions>true</ShowExceptions>
  3. Zapisz zmiany.

Ldp.exe (Windows)

Aby to zrobić:

  1. Przekonwertuj plik certyfikatu i plik klucza na jeden plik w formacie PKCS12. W wierszu polecenia wpisz:

    Jeśli korzystasz z systemu macOS lub Linux, użyj tych poleceń:

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

    Wpisz hasło, aby zaszyfrować plik wyjściowy.

    Jeśli korzystasz z systemu Windows, użyj tych poleceń:

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

    Ważne: oba pliki (<CERT_FILE>.crt i <CERT_FILE>.key) muszą znajdować się w tym samym katalogu. Upewnij się też, że pliki key i crt mają identyczną nazwę (z różnymi rozszerzeniami). W tym przykładzie używamy nazw ldap-client.crt i ldap-client.key.

  2. Otwórz Panel sterowania.
  3. W polu wyszukiwania wpisz „certyfikat” i kliknij Zarządzaj certyfikatami użytkowników.
  4. Otwórz Akcja > Wszystkie zadania > Importuj…
  5. Wybierz Bieżący użytkownik i kliknij Dalej.
  6. Kliknij Przeglądaj…
  7. Z listy typów plików w prawym dolnym rogu okna wybierz Wymiana informacji osobistych (*.pfx;*.p12).
  8. Wybierz plik ldap-client.p12 z kroku 2, kliknij Otwórz, a następnie Dalej.
  9. Wpisz hasło z kroku 2 i kliknij Dalej.
  10. Wybierz magazyn certyfikatów Osobisty, kliknij Dalej, a następnie Zakończ.
  11. Uruchom Ldp.exe.
  12. Kliknij Połączenie > Połącz...
  13. Wpisz te szczegóły połączenia:

    Serwer: ldap.google.com
    Port: 636
    Bez połączenia: odznaczony
    SSL: zaznaczony
  14. Kliknij OK.
  15. Otwórz Widok > Drzewo.
  16. Wpisz podstawową nazwę wyróżniającą. Jest to nazwa domeny w formacie nazwy wyróżniającej, na przykład dc=example,dc=com w przypadku domeny example.com.
  17. Kliknij OK.
  18. Jeśli połączenie zostanie nawiązane, w prawym okienku narzędzia LDP.exe wyświetli się zawartość Active Directory, np. wszystkie atrybuty znajdujące się w podstawowej nazwie wyróżniającej.

Netgate/pfSense

Instrukcje dotyczące łączenia Netgate/pfSense z usługą Bezpieczny LDAP znajdziesz w artykule Konfigurowanie Google Cloud Identity jako źródła uwierzytelniania.

OpenLDAP / ldapsearch (Linux)

Aby uzyskać dostęp do katalogu LDAP za pomocą wiersza polecenia, możesz użyć polecenia OpenLDAP ldapsearch.

Załóżmy, że pliki certyfikatu i klucza klienta to ldap-client.crt i ldap-client.key, domena to example.com, a nazwa użytkownika to jsmith:

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

Ustawia odpowiednie zmienne środowiskowe, aby wskazywały klucze klienta. Inne opcje polecenia ldapsearch możesz zastąpić odpowiednimi filtrami, wymaganymi atrybutami itd. Więcej informacji znajdziesz w instrukcji do polecenia ldapsearch („man ldapsearch”).

ldapsearch (macOS)

Aby to zrobić:

  1. Przekonwertuj plik certyfikatu i plik klucza na jeden plik w formacie PKCS12. W wierszu poleceń wpisz:

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

    Wpisz hasło, aby zaszyfrować plik wyjściowy.
  2. Kliknij  w prawym górnym rogu paska menu i wpisz Dostęp do pęku kluczy.
  3. Otwórz aplikację Dostęp do pęku kluczy i na liście po lewej stronie kliknij System.
  4. Kliknij opcję Plik w lewym górnym pasku menu i wybierz Importuj rzeczy.
  5. Przejdź do lokalizacji z wygenerowanym plikiem ldap-client.p12, wybierz ldap-client.p12 i kliknij Otwórz.
    Jeśli pojawi się prośba o podanie hasła, wpisz je.
    Na liście certyfikatów w pęku kluczy systemowych powinien się teraz pojawić certyfikat o nazwie LDAP Client.
  6. Kliknij strzałkę obok certyfikatu Klient LDAP. Poniżej wyświetla się klucz prywatny.
    1. Kliknij dwukrotnie klucz prywatny.
    2. W oknie dialogowym wybierz kartę Kontrola dostępu i w lewym dolnym rogu kliknij +.
    3. W otwartym oknie wpisz Command+Shift+G, aby otworzyć nowe okno, a następnie zastąp istniejący tekst ciągiem /usr/bin/ldapsearch.

    4. Kliknij Idź.

      Spowoduje to otwarcie okna z podświetlonym narzędziem ldapsearch.

    5. Kliknij Dodaj.

    6. Kliknij Zapisz zmiany i w razie potrzeby wpisz hasło.

      Teraz możesz uzyskać dostęp do katalogu LDAP z poziomu wiersza poleceń przy użyciu polecenia ldapsearch OpenLDAP.

  7. Załóżmy, że plik ldap-client.p12, który został wcześniej zaimportowany do pęku kluczy, ma nazwę LDAP Client, Twoja domena to example.com, a nazwa użytkownika to jsmith. Wpisz to polecenie:

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

Spowoduje to ustawienie odpowiednich zmiennych środowiskowych wskazujących na zaimportowany certyfikat klienta. Inne opcje polecenia ldapsearch możesz zastąpić odpowiednimi filtrami, wymaganymi atrybutami itd. Szczegółowe informacje znajdziesz na stronach man narzędzia ldapsearch (man ldapsearch).

OpenVPN (wersja społecznościowa)

Aby to zrobić:

  1. W razie potrzeby zainstaluj i skonfiguruj klienta OpenVPN. Jeśli już go masz, otwórz w nim stronę z ustawieniami.

    Ogólna konfiguracja sieci VPN wykracza poza zakres tego artykułu pomocy. Po skonfigurowaniu sieci VPN możesz dodać mechanizm autoryzacji i uwierzytelniania użytkownika przy użyciu protokołu LDAP. W szczególności musisz zainstalować wtyczkę openvpn-auth-ldap.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Skopiuj pliki klucza i certyfikatu klienta LDAP do /etc/openvpn/ldap-client.key i /etc/openvpn/ldap-client.crt.
  3. Utwórz plik /etc/openvpn/auth-ldap.conf zawierający te informacje (zakładając, że example.com to nazwa domeny):

    <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. Zmodyfikuj plik konfiguracji klienta OpenVPN, który często ma nazwę /etc/openvpn/server.conf lub podobną. U dołu pliku dodaj te informacje:

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

  5. Ponownie uruchom serwer OpenVPN.

    $ sudo systemctl restart openvpn@server
  6. Skonfiguruj klientów VPN tak, aby używali nazw użytkowników i haseł. Na przykład w konfiguracji klienta OpenVPN dodaj auth-user-pass na końcu pliku konfiguracji klienta OpenVPN i uruchom klienta OpenVPN:

    $ openvpn --config /path/to/client.conf
  7. Postępuj zgodnie z instrukcjami używania stunnel jako serwera proxy.

Serwer dostępu OpenVPN (wersja komercyjna)

Instrukcje dotyczące łączenia serwera dostępu OpenVPN z usługą Bezpieczny LDAP znajdziesz w artykule Konfigurowanie usługi Bezpieczny LDAP Google na potrzeby serwera dostępu OpenVPN.

PaperCut MF i NG

Instrukcje dotyczące łączenia PaperCut z usługą Bezpieczny LDAP znajdziesz w artykule How to sync and authenticate Google Workspace and Google Cloud Identity users in PaperCut (Jak synchronizować i uwierzytelniać użytkowników Google Workspace i Google Cloud Identity w PaperCut).

Puppet Enteprise

Instrukcje dotyczące łączenia platformy Puppet Enterprise z usługą Bezpieczny LDAP znajdziesz w artykule Google Cloud Directory for PE (Google Cloud Directory dla PE).

Softerra LDAP Browser

Ważne: zanim zaczniesz, upewnij się, że masz zainstalowaną przeglądarkę Softerra LDAP w wersji 4.5 (4.5.19808.0) lub nowszej. Zobacz LDAP Browser 4.5.

Aby to zrobić:

  1. Przekonwertuj plik certyfikatu i plik klucza na jeden plik w formacie PKCS12. W wierszu polecenia wpisz:

    Jeśli korzystasz z systemu macOS lub Linux, użyj tych poleceń:

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

    Wpisz hasło, aby zaszyfrować plik wyjściowy.

    Jeśli korzystasz z systemu Windows, użyj tych poleceń:

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

    Ważne: oba pliki (<CERT_FILE>.crt i <CERT_FILE>.key) muszą znajdować się w tym samym katalogu. Upewnij się też, że pliki key i crt mają identyczną nazwę (z różnymi rozszerzeniami). W tym przykładzie używamy nazw ldap-client.crt i ldap-client.key.

  2. W programie Softerra LDAP Browser zainstaluj parę kluczy.
    1. Kliknij Tools (Narzędzia) > Certificate Manager (Menedżer certyfikatów).
    2. Kliknij Import… (Importuj…).
    3. Kliknij Dalej.
    4. Kliknij Przeglądaj…
    5. W menu Typ pliku w prawym dolnym rogu okna wybierz Personal Information Exchange (*.pfx;*.p12).
    6. Wybierz plik ldap-client.p12 z kroku 2 opisanego powyżej.
    7. Kliknij Open (Otwórz), a następnie wybierz Next (Dalej).
    8. Wpisz hasło z kroku 2 opisanego powyżej i kliknij Dalej .
    9. Wybierz magazyn certyfikatów Osobiste.
    10. Kliknij Dalej.
    11. Kliknij Zakończ.
  3. Dodaj profil serwera.
    1. Kliknij Plik > Nowy > Nowy profil…
    2. Wpisz nazwę profilu, na przykład Google LDAP.
    3. Kliknij Dalej.

      Wpisz te informacje:

      Host: ldap.google.com
      Port:
      636
      Podstawowa nazwa wyróżniająca: nazwa domeny w formacie DN. (np. dc=example,dc=com w przypadku domeny example.com)
      Użyj bezpiecznego połączenia (SSL): zaznaczone
    4. Kliknij Dalej.
    5. Wybierz External (SSL Certificate) (Zewnętrzny – certyfikat SSL).
    6. Kliknij Dalej.
    7. Kliknij Zakończ.

Sophos Mobile

Instrukcje dotyczące łączenia rozwiązania Sophos Mobile z usługą Bezpieczny LDAP znajdziesz w artykule Connecting Sophos Mobile to Google Cloud Identity / Google Cloud Directory using Secure LDAP (Łączenie rozwiązania Sophos Mobile z Google Cloud Identity / Google Cloud Directory za pomocą usługi Bezpieczny LDAP).

Splunk

Podczas łączenia Splunk z usługą Bezpieczny LDAP używaj Splunk w wersji 8.1.4 lub nowszej. W przypadku starszych wersji Splunka, np. Splunka w wersji 8.1.3, do serwera LDAP mogą być wysyłane nadmierne zapytania LDAP, co może spowodować szybkie wyczerpanie limitu LDAP. Więcej informacji o problemach z wersją 8.1.3 Splunk znajdziesz w sekcji Znane problemy ze Splunk.

Aby to zrobić:

  1. Skopiuj klucz klienta LDAP do pliku /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key i plik certyfikatu do pliku /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.cert.

    $ 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. Edytuj plik ldap.conf, aby dodać następujące ustawienia konfiguracji:

    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. Dodaj te konfiguracje w pliku użytkownika /home/splunkadmin/.ldaprc:

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

  4. Dodaj strategię LDAP za pomocą interfejsu internetowego Splunk. Podaj te informacje i kliknij Zapisz:

Nazwa

Bezpieczny LDAP Google

Host

ldap.google.com

Port

636

Włączony protokół SSL

Zaznaczono

Kolejność połączeń

1

Powiąż DN

Wpisz dane logowania wygenerowane w konsoli administracyjnej Google.

Hasło powiązania DN

Wpisz dane logowania wygenerowane w konsoli administracyjnej Google.

Base DN (Podstawowa nazwa wyróżniająca)

Nazwa domeny w formacie DN (np. dc=example,dc=com w przypadku domeny example.com)

Filtr bazy użytkowników

Wpisz filtr podstawowy użytkownika dla klasy obiektu, według której chcesz filtrować użytkowników.

Atrybut nazwy użytkownika

uid

Atrybut prawdziwego imienia i nazwiska

displayname

Atrybut Email

mail

Atrybut mapowania grupy

dn (nazwa wyróżniająca)

Podstawowa nazwa wyróżniająca grupy

Nazwa domeny w formacie DN (np. ou=Groups,dc=example,dc=com w przypadku domeny example.com).

Statyczny filtr wyszukiwania grup

Wpisz filtr wyszukiwania grup statycznych dla klasy obiektu, według której chcesz filtrować grupy statyczne.

Atrybut nazwy grupy

cn

Atrybut statyczny elementu

użytkownik

SSSD (Red Hat Enterprise i CentOS)

Klient SSSD podczas uwierzytelniania użytkownika wyszukuje go, aby uzyskać o nim więcej informacji. Aby uwierzytelnianie użytkowników działało prawidłowo w przypadku tego klienta LDAP, musisz włączyć opcje Odczytywanie informacji o użytkownikach i Odczytywanie informacji o grupach we wszystkich jednostkach organizacyjnych, w których włączona jest opcja Weryfikowanie danych logowania użytkowników. Odpowiednie instrukcje znajdziesz w artykule Skonfiguruj uprawnienia dostępu.

Aby połączyć klienta SSSD w systemie Red Hat 8 lub CentOS 8 z usługą Bezpieczny LDAP:

  1. Dodaj klienta SSSD do usługi Bezpieczny LDAP:
    1. W konsoli administracyjnej Google wybierz Aplikacje > LDAP > DODAJ KLIENTA.
      Pamiętaj, aby zalogować się na konto firmowe, a nie na osobiste konto Gmail.
    2. Wpisz dane klienta i kliknij DALEJ.
    3. Skonfiguruj Uprawnienia dostępu:
      Weryfikowanie danych logowania użytkowników – Cała domena
      Odczytywanie informacji o użytkownikach – Cała domena
      Odczytywanie informacji o grupach – Wł.
    4. Kliknij DODAJ KLIENTA LDAP.
    5. Pobierz wygenerowany certyfikat.
    6. Kliknij PRZEJDŹ DO SZCZEGÓŁÓW KLIENTA.
    7. Zmień stan usługi na Wł.
  2. Zainstaluj zależności:

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


    rozpakuj plik ZIP z certyfikatem i skopiuj pliki .crt i .key do katalogu /etc/sssd/ldap
  3. (Opcjonalnie) Przeprowadź test za pomocą narzędzia 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


    Gdy pojawi się prośba, wpisz hasło do Google użytkownika.

    Uwaga: użytkownik musi mieć przypisaną licencję Google Workspace Enterprise lub Cloud Identity Premium.

  4. Utwórz plik /etc/sssd/sssd.conf o tej zawartości:

    [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. Zaktualizuj uprawnienia i etykiety 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. Uruchom ponownie SSSD:

    systemctl restart sssd
  7. Przetestuj połączenie SSH z serwerem:

    ssh -l user@example.com {HOSTNAME}

Rozwiązywanie problemów

  1. Sprawdź wersję SSSD (musi być większa lub równa 1.15.2):

    # sssd --version
    2.2.3

  2. W przypadku RHEL/CentOS (lub innej dystrybucji z egzekwowaniem SELinux) pliki konfiguracji SSSD, plik certyfikatu i klucz muszą znajdować się w katalogu dostępnym dla roli sssd_conf_t:

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

    Sprawdź, czy w pliku /var/log/audit/audit.log nie znajdują się wiadomości o odrzuceniu AVC.

  3. Sprawdź, czy w pliku /etc/nsswitch.conf w przypadku jednostek passwd, shadow, group i netgroup jest wpis „sss”:

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


    W tym przypadku pliki lokalne zastąpią użytkowników LDAP.
  4. Sprawdź, czy w pliku /var/log/sssd.conf nie ma błędów konfiguracji:

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

    Działanie: musisz zmienić uprawnienia pliku .conf na 600.

    Przykład:
    [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.

    Action: Remove the unsupported group match LDAP extensions from sssd.conf.

  5. Sprawdź, czy plik /var/log/sssd_{DOMAIN}.log nie zawiera błędów LDAP/network/auth.

    Przykład:

    [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)]

    Action: You need to add "ldap_tls_reqcert = never" to sssd.conf.

    Aby zwiększyć poziom szczegółowości błędów, dodaj „debug_level = 9” w pliku sssd.conf sekcji w sekcji domeny i ponownie uruchom sssd.

SSSD (inne dystrybucje Linuksa)

Klient SSSD podczas uwierzytelniania użytkownika wyszukuje go, aby uzyskać o nim więcej informacji. Aby uwierzytelnianie użytkowników działało prawidłowo w przypadku tego klienta LDAP, musisz włączyć opcje Odczytywanie informacji o użytkownikach i Odczytywanie informacji o grupach we wszystkich jednostkach organizacyjnych, w których włączona jest opcja Weryfikowanie danych logowania użytkowników. Odpowiednie instrukcje znajdziesz w artykule Skonfiguruj uprawnienia dostępu.

Aby połączyć klienta SSSD z usługą Bezpieczny LDAP:

  1. Zainstaluj SSSD w wersji >= 1.15.2.

    $ sudo apt-get install sssd
  2. Załóżmy, że pliki certyfikatu i klucza klienta mają nazwy /var/ldap-client.crt i /var/ldap-client.key, a Twoja domena to example.com. Edytuj plik /etc/sssd/sssd.conf, dodając do niego konfigurację podobną do tej:


    [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. Zmień własność i uprawnienia pliku konfiguracyjnego:

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

  4. Uruchom ponownie SSSD:

    $ sudo service sssd restart

Wskazówka: jeśli używasz modułu SSSD na komputerach z systemem Linux bez zewnętrznych adresów IP w Google Compute Engine, możesz nadal łączyć się z usługą Secure LDAP, o ile masz włączony wewnętrzny dostęp do usług Google. Więcej informacji znajdziesz w artykule Konfigurowanie prywatnego dostępu do Google.

macOS

Aby połączyć klienta macOS do uwierzytelniania konta użytkownika przy użyciu usługi Bezpieczny LDAP, wykonaj opisane poniżej czynności.

Wymagania systemowe

  • macOS musi być w wersji Catalina 10.15.4 lub nowszej.
  • Aby wykonać krok 1 na etapie przygotowań, wymagany jest identyfikator użytkownika należący do superadministratora Google.
  • Aby przeprowadzić tę konfigurację, musisz mieć uprawnienia lokalnego administratora.

Treść:

 Etap przygotowania

Ta sekcja zawiera instrukcje ręcznego konfigurowania i testowania uwierzytelniania macOS przy użyciu usługi Bezpieczny LDAP.

Krok 1. Wprowadź macOS jako klienta LDAP w konsoli administracyjnej Google

Instrukcje znajdziesz w artykule Dodawanie klientów LDAP lub w tym filmie demonstracyjnym dotyczącym usługi Bezpieczny LDAP. W trakcie tego procesu pobierzesz też automatycznie wygenerowany certyfikat klienta TLS.

Krok 2. Zaimportuj certyfikat do systemowego pęku kluczy

  1. Skopiuj certyfikat (plik ZIP pobrany w kroku 1) i klucz do komputera z macOS.
    Wskazówka: rozpakuj plik, aby znaleźć pliki certyfikatu i klucza.
  2. Zaimportuj parę kluczy do pęku kluczy System:
    1. Dokonaj konwersji klucza i certyfikatu na plik PKCS 12 (p12). Uruchom w terminalu to polecenie:

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

      Wskazówka: zapisz nazwę pliku .p12.

      System poprosi Cię o podanie hasła. Wpisz hasło, które ma zostać użyte do zaszyfrowania pliku p12.

    2. Otwórz aplikację Dostęp do pęku kluczy.

    3. Kliknij pęk kluczy System.

    4. Kliknij Plik > Zaimportuj rzeczy.

    5. Wybierz plik ldap-client.p12 utworzony powyżej.

    6. Jeśli pojawi się taka prośba, wpisz hasło administratora, aby zezwolić na modyfikowanie pęku kluczy System.

    7. Wpisz hasło utworzone powyżej, aby odszyfrować plik .p12.

      Uwaga: na liście kluczy powinien pojawić się nowy certyfikat i powiązany z nim klucz prywatny. Certyfikat może mieć nazwę Klient LDAP. Zapisz nazwę certyfikatu, aby użyć jej w następnym kroku.
    8. Aby skonfigurować kontrolę dostępu do klucza prywatnego w celu dodania aplikacji wymienionych poniżej, wykonaj krok 6 w sekcji ldapsearch (macOS) w tym artykule. Jeśli klucz prywatny nie jest widoczny w kategorii Wszystkie elementy, spróbuj przełączyć się na kategorię Moje certyfikaty i znaleźć odpowiedni wpis klucza prywatnego, rozwijając odpowiedni certyfikat.

      Aplikacja ldapsearch, zgodnie z instrukcjami, jest przydatna tylko w przypadku rozwiązywania problemów, a nie w innych celach. Zwykle jest on usuwany przed przyznaniem użytkownikom dostępu do systemu macOS.

      Do listy kontroli dostępu musisz dodać te 3 aplikacje:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Dodaj wiersz do pliku /etc/openldap/ldap.conf, upewniając się, że „LDAP Client” to dokładnie taka sama nazwa certyfikatu, jaka jest wyświetlana w aplikacji Dostęp do pęku kluczy na macOS po zaimportowaniu pliku .p12 (nazwa pochodzi z nazwy pospolitej podmiotu X.509 wygenerowanego certyfikatu):

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

Krok 3. Skieruj urządzenie na katalog Google w celu uwierzytelnienia

Otwórz aplikację Directory Utility, aby utworzyć nowy węzeł katalogu LDAP:

  1. Kliknij ikonę kłódki i wpisz hasło, aby umożliwić wprowadzanie zmian.
  2. Wybierz LDAPv3 i kliknij ikonę ołówka, aby edytować ustawienia.
  3. Kliknij Nowy….
  4. W polu nazwy serwera wpisz ldap.google.com, wybierz Encrypt using SSL (Szyfruj za pomocą SSL) i kliknij Manual (Ręcznie).
  5. Wybierz nową nazwę serwera i kliknij Edycja….
  6. Wpisz opisową nazwę konfiguracji, np. Bezpieczny LDAP Google.
  7. Wybierz Szyfruj za pomocą SSL i upewnij się, że port jest ustawiony na 636.
  8. Otwórz kartę Szukanie i mapowania.
    1. Wybierz RFC2307 z rozwijanej listy Dostęp do serwera LDAPv3 przy użyciu.
    2. Gdy pojawi się prośba, wpisz informacje związane z domeną w polu sufiksu podstawy wyszukiwania. Na przykład w przypadku domeny zomato.com wpisz dc=zomato,dc=com.
    3. Kliknij OK.
    4. Skonfiguruj atrybuty w ramach typu rekordu Użytkownicy:
      1. W sekcji Typy rekordów i atrybuty wybierz Użytkownicy i kliknij przycisk „+”.
      2. W wyskakującym okienku kliknij Typy atrybutów, wybierz GeneratedUID,a potem kliknij OK,aby zamknąć okienko.

        Po rozwinięciu sekcji GeneratedUID powinna być ona widoczna w sekcji Użytkownicy.
      3. Kliknij GeneratedUID, a następnie kliknij ikonę „+” w polu po prawej stronie.
      4. Wpisz w polu tekstowym apple-generateduid i kliknij Enter.
      5. W węźle Użytkownicy kliknij atrybut NFSHomeDirectory.
      6. Na ekranie po prawej stronie zaktualizuj wartość tego atrybutu na #/Users/$uid$
      7. Aby zapisać zmiany, kliknij OK i wpisz hasło.
  9. W oknie Directory Utility (Narzędzie katalogowe) skonfiguruj nową konfigurację LDAP:
    1. Otwórz kartę Zasady wyszukiwania.
    2. Kliknij ikonę blokady, aby wprowadzić zmiany, i wpisz hasło bieżącego użytkownika, gdy pojawi się o to prośba.
    3. Zmień opcję w menu z Ścieżka wyszukiwania na Ścieżka niestandardowa.
    4. Otwórz kartę Uwierzytelnianie i kliknij ikonę „+”.
    5. Na liście Domeny katalogu wybierz /LDAPv3/ldap.google.com, a następnie kliknij Dodaj.
    6. Kliknij przycisk Zastosuj i w razie potrzeby wpisz hasło administratora.
  10. Uruchom następujące 4 polecenia, aby wyłączyć mechanizmy uwierzytelniania DIGEST-MD5, CRAM-MD5, NTLM i GSSAPI SASL. System macOS będzie używać prostego wiązania do uwierzytelniania za pomocą usługi Bezpieczny LDAP Google:

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

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

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

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

  11. Uruchom ponownie, aby ponownie załadować konfigurację OpenDirectory.

Krok 4. Utwórz konto mobilne (umożliwia logowanie offline)

Każdy użytkownik z Google Workspace lub Cloud Identity może zalogować się przy użyciu konta sieciowego (konta Google) za pomocą swojej nazwy użytkownika i hasła. Ten proces wymaga połączenia z siecią Jeśli użytkownik musi się zalogować się, używając lub nie używając połączenia z siecią, można utworzyć dla niego konto mobilne. Konto mobilne umożliwia logowanie się za pomocą nazwy użytkownika i hasła do konta sieciowego (konta Google), niezależnie od tego, czy masz połączenie z siecią. Więcej informacji znajdziesz w artykule Tworzenie i konfigurowanie kont mobilnych na komputerze Mac.

Aby utworzyć konto mobilne dla użytkowników usługi Bezpieczny LDAP:

  1. Aby połączyć się z serwerem Bezpieczny LDAP i skonfigurować ścieżkę domową oraz konta mobilne, uruchom to polecenie:

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

    Wskazówka: zastąp $uid częścią nazwy użytkownika adresu e-mail powiązanego z kontem Google użytkownika. Na przykład jkowalski to nazwa użytkownika w adresie jkowalski@solarmora.com.

  2. Gdy pojawi się prośba o podanie nazwy użytkownika administratora SecureToken, wpisz nazwę użytkownika administratora, a w następnym oknie wpisz hasło. Spowoduje to dodanie do FileVault zmiennej $uid. Jest to wymagane, jeśli dysk macOS jest zaszyfrowany.

Krok 5. (Opcjonalnie) Ustaw preferencje ekranu logowania

  1. Wybierz Preferencje systemowe > Użytkownicy i grupy > Opcje logowania w lewym dolnym rogu.
  2. Zwolnij blokadę, podając dane logowania administratora.
  3. W polu Wyświetl okno logowania jako wybierz Nazwa i hasło.

Krok 6. Uruchom ponownie urządzenie i zaloguj się

  1. Upewnij się, że urządzenie jest połączone z internetem. Jeśli nie masz połączenia z internetem, logowanie użytkownika Secure LDAP nie będzie działać.
    Uwaga: połączenie z internetem jest wymagane tylko podczas pierwszego logowania. Kolejne logowania już go nie wymagają.
  2. Zaloguj się na urządzeniu za pomocą konta użytkownika skonfigurowanego do korzystania z bezpiecznego protokołu LDAP na potrzeby uwierzytelniania.

 Etap wdrażania

Instrukcje w tej sekcji przedstawiają automatyzację konfiguracji urządzeń dla użytkowników. Wykonaj kroki 1 i 2 poniżej na tym samym urządzeniu z macOS, na którym w fazie przygotowań przeprowadzono ręczną konfigurację.

Krok 1. Utwórz profil Maca z certyfikatem za pomocą aplikacji Apple Configurator 2

  1. Zainstaluj Apple Configurator 2 na komputerze, na którym ręcznie skonfigurowano uwierzytelnianie macOS przy użyciu usługi Bezpieczny LDAP.
  2. Otwórz Apple Configurator 2, utwórz nowy profil i w sekcji Certificate (Certyfikat) kliknij Configure (Skonfiguruj), a następnie zaimportuj wcześniej wygenerowany plik .p12.

    Uwaga: upewnij się, że plik .p12 jest zabezpieczony hasłem. Wpisz to hasło w polu Password (Hasło) sekcji Certificate (Certyfikat).

  3. Zapisz ten profil.
  4. (W przypadku urządzeń z procesorami M1 lub M2 pomiń ten krok i przejdź do kroku 5.) ) Otwórz profil w dowolnym edytorze tekstu i dodaj te wiersze w pierwszym tagu <dict>:

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


    Trzeba to zrobić, ponieważ Apple Configurator jeszcze nie obsługuje profili systemu macOS.
  5. W drugim tagu <dict>, obok danych certyfikatu dodaj te wiersze:

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


    Dzięki temu certyfikat będzie dostępny dla wszystkich aplikacji.

Krok 2. Skonwertuj plik konfiguracyjny katalogu (plist) na plik XML

W tym kroku wyodrębnisz wszystkie konfiguracje ręczne, które zostały wykonane w kroku 3 fazy przygotowania, do pliku XML. Możesz użyć tego pliku i profilu Maca utworzonego w kroku 1 powyżej, aby automatycznie skonfigurować inne urządzenia z macOS.

  1. Skopiuj plik /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist na pulpit lub w inne miejsce.
  2. Przekonwertuj go na format XML, aby można było sprawdzić go w dowolnym edytorze tekstu. Uruchom w terminalu to polecenie:

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

    Dostęp do pliku możesz uzyskać jako <path>/ldap.google.com.plist.
  3. Zmień uprawnienia tego pliku, aby móc otworzyć plik XML. Upewnij się, że nie jest on pusty.

Krok 3. Utwórz skrypt w języku Python, aby zautomatyzować konfigurację na urządzeniach użytkowników

Skopiuj poniższy skrypt w języku Python i zapisz go jako plik tego języka (plik .py).

Uwaga: ten przykładowy skrypt jest zgodny z wersją Pythona 3.10.x. Ten skrypt jest udostępniany tak, jak jest. Zespół pomocy Google nie zapewnia pomocy w przypadku przykładowych skryptów.

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

Krok 4. Automatyczna konfiguracja urządzeń użytkowników

Przejdź do innych urządzeń z systemem macOS, które chcesz skonfigurować, i wykonaj te czynności:

  1. Skopiuj plik profilu Maca wygenerowany w kroku 1, plik konfiguracyjny XML wygenerowany w kroku 2 oraz skrypt Pythona z kroku 3 na urządzenie.
  2. Aby zainstalować wymaganą zależność skryptu, uruchom to polecenie:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Uruchom to polecenie:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. Aby zaimportować certyfikaty do pęku kluczy systemu macOS, kliknij dwukrotnie plik profilu Maca wygenerowany w kroku 1, a gdy pojawi się prośba, podaj dane logowania administratora lokalnego macOS. Pojawi się prośba o wpisanie hasła do pliku .p12, które zostało ustawione na etapie przygotowań.
  5. Uruchom ponownie komputer z systemem macOS.
  6. Utwórz konta mobilne zgodnie z instrukcjami w kroku 4 fazy przygotowania i opcjonalnie ustaw dodatkowe preferencje opisane w kroku 5 fazy przygotowania.

 Ograniczenia i wskazówki

  • W przypadku użytkowników logujących się w systemie macOS przy użyciu danych logowania Google ich nazwa użytkownika na koncie Workspace musi być inna niż identyfikator użytkownika w profilu użytkownika macOS. W przeciwnym razie logowanie zostanie zablokowane.
  • Gdy użytkownik zacznie logować się w macOS za pomocą danych logowania Google, miejscem do zarządzania hasłami użytkowników (resetowania i odzyskiwania) musi być witryna Google (na przykład myaccount.google.com lub konsola administracyjna Google). Jeśli zdecydujesz się zarządzać hasłami za pomocą rozwiązania innej firmy, upewnij się, że najnowsze hasło jest zsynchronizowane z Google.
  • Jeśli administrator utworzy nowego użytkownika lub zresetuje hasło istniejącego użytkownika z włączonym ustawieniem Poproś o zmianę hasła po następnym zalogowaniu, użytkownik nie może zalogować się na Macu przy użyciu hasła tymczasowego ustawionego przez administratora.
    Obejście: użytkownik musi zalogować się w Google na innym urządzeniu (np. na urządzeniu mobilnym lub innym komputerze), ustawić stałe hasło, a następnie zalogować się w systemie macOS przy użyciu nowego hasła.
  • Komputer z macOS musi mieć działające połączenie z internetem, aby usługa ldap.google.com była dostępna podczas pierwszego logowania po wykonaniu opisanej powyżej konfiguracji. Kolejne logowania nie wymagają dostępu do internetu, o ile skonfigurowano wcześniej konto mobilne.
  • Integracja usługi Bezpieczny LDAP Google z macOS jest testowana w systemie macOS w wersjach: Catalina, Big Sur i Monterey.

Rozwiązywanie problemów

Jeśli wystąpią problemy z połączeniem z usługą Bezpieczny LDAP, wykonaj zamieszczone niżej instrukcje.

Krok 1. Sprawdź połączenie.

Sprawdź połączenie za pomocą polecenia odutil.
Uruchom w terminalu polecenie odutil show nodenames.
Sprawdź, czy stan /LDAPv3/ldap.google.com to online. Jeśli nie, wypróbuj polecenie telnet.

Zweryfikuj połączenie przy użyciu polecenia nc.
W terminalu wykonaj to polecenie: nc -zv ldap.google.com 636
Jeśli nie możesz połączyć się z Google w ten sposób, spróbuj połączyć się za pomocą protokołu IPv4.

Zweryfikuj połączenie przez IPv4.
Aby włączyć na urządzeniu korzystanie z IPv4, wykonaj te czynności:

  1. Kliknij Preferencje systemowe > Sieć > Wi-Fi > Zaawansowane.
  2. W menu Zaawansowane otwórz kartę TCP/IP.
  3. Zmień wybór w menu z Skonfiguruj IPv6 na Tylko lokalne.
  4. Kliknij OK, a potem Zastosuj, aby zapisać zmiany.
  5. Sprawdź uwierzytelnianie usługi przez połączenie ldapsearch i prawidłowe wyszukiwanie.

Krok 2. Sprawdź, czy widzisz obiekty katalogu.

  1. Otwórz Narzędzie katalogowe, a następnie kartę Edytor katalogów.
  2. Z listy wybierz węzeł /LDAPv3/ldap.google.com.
  3. Sprawdź, czy możesz wyświetlić użytkowników i grupy z domeny Google.

Instrukcje konfiguracji aplikacji Java

Większość aplikacji opartych na Javie, które oferują funkcje LDAP, można skonfigurować tak, aby uwierzytelniały się za pomocą certyfikatów klienta. W tym celu należy zainstalować certyfikaty klienta w magazynie kluczy aplikacji. Konkretne pliki konfiguracji różnią się w zależności od aplikacji, ale proces jest zwykle podobny. Konfiguracja wymaga zainstalowania OpenSSL i środowiska wykonawczego Java.

  1. Przekonwertuj certyfikat i klucze na format magazynu kluczy Java. W trakcie tego procesu pojawi się prośba o podanie haseł. Wybierz bezpieczne hasło i używaj go we wszystkich promptach. Załóżmy, że plik klucza klienta ma nazwę ldap-client.key:

    Jeśli korzystasz z systemu macOS lub Linux, użyj tych poleceń:

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

    Jeśli korzystasz z systemu Windows, użyj tych poleceń:

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

    Ważne: oba pliki (<CERT_FILE>.crt i <CERT_FILE>.key) muszą znajdować się w tym samym katalogu. Upewnij się też, że pliki key i crt mają identyczną nazwę (z 2 różnymi rozszerzeniami). W tym przykładzie używamy nazw ldap-client.crt i ldap-client.key.

  2. Zaimportuj certyfikat do magazynu kluczy:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Właściwości Javy mogą być konfigurowane na różne sposoby w zależności od aplikacji. Często można je ustawić za pomocą opcji -D w wierszu poleceń „java” używanym do uruchamiania. Ustaw właściwości Java dla swojej aplikacji:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Skonfiguruj ustawienia połączenia LDAP aplikacji, korzystając z informacji podanych w podstawowych instrukcjach konfiguracji.

Opcjonalnie: użyj stunnel jako serwera proxy

W przypadku klientów, którzy nie oferują sposobu uwierzytelniania w LDAP za pomocą certyfikatu klienta, użyj stunnel jako serwera proxy.

Skonfiguruj stunnel tak, aby przekazywał certyfikat klienta do serwera LDAP, i skonfiguruj klienta tak, aby łączył się ze stunnelem. Najlepiej uruchomić stunnel na tych samych serwerach co aplikacja i nasłuchiwać tylko lokalnie, aby nie udostępniać katalogu LDAP poza tym serwerem.

Aby to zrobić:

  1. Zainstaluj program stunnel. Na przykład w systemie Ubuntu:

    $  sudo apt-get install stunnel4
    
  2. Utwórz plik konfiguracji /etc/stunnel/google-ldap.conf o tej treści (zakładając, że ldap-client.crt to certyfikat, a ldap-client.key to klucz):

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

  3. Aby włączyć program stunnel, zmień plik /etc/default/stunnel4 i ustaw opcję ENABLED=1.

  4. Uruchom ponownie program stunnel.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Skonfiguruj swoją aplikację tak, aby wskazywała na adres ldap://127.0.0.1:1636.

    Możesz zastąpić „1636” dowolnym nieużywanym portem, jeśli zmienisz też wiersz accept w pliku konfiguracji powyżej. Musisz używać protokołu LDAP w formie zwykłego tekstu bez włączonej opcji StartTLS/SSL/TLS między klientem a stunnel, ponieważ komunikują się one lokalnie.

Uwaga: jeśli zdecydujesz się uruchomić stunnel na osobnym serwerze, musisz skonfigurować zapory tak, aby tylko niezbędne aplikacje miały dostęp do serwera stunnel. Możesz też skonfigurować stunnel tak, aby nasłuchiwał za pomocą TLS, dzięki czemu dane przesyłane między aplikacją a serwerami stunnel będą szyfrowane. Szczegóły obu tych konfiguracji zależą od Twojego środowiska.

Dalsze kroki

Po połączeniu klienta LDAP z usługą Bezpieczny LDAP musisz zmienić stan usługi na Włączona dla klienta LDAP.

Dalsze kroki znajdziesz w artykule 5. Przełącz klientów LDAP na Włączone.

Uwaga: w razie potrzeby możesz użyć prostych narzędzi, takich jak ldapsearch, ADSI lub ldp.exe, aby rozwiązać problemy, jeśli podczas próby połączenia klienta LDAP z usługą wystąpią błędy. Instrukcje znajdziesz w artykule Testowanie połączeń i rozwiązywanie problemów.