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

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

Ważne:

  • Zapoznaj się z dokumentacją dostawcy
    Informacje podane w tym artykule, dotyczące łączenia klienta LDAP z usługą Bezpieczny LDAP, mają charakter wyłącznie referencyjny i mogą ulec zmianie. Oprócz tych instrukcji 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, uprawnienia dostępu zostały skonfigurowane, certyfikat klienta i klucz zostały pobrane oraz (opcjonalnie) dane logowania zostały utworzone.
  • Testowanie połączenia
    Zanim zaczniesz wykonywać te czynności, możesz przeprowadzić szybki test połączenia za pomocą prostych narzędzi, takich jak ldapsearch, ADSI i ldp.exe. Możesz też użyć tych narzędzi do rozwiązywania problemów, jeśli podczas próby połączenia klienta LDAP z usługą wystąpią błędy. Instrukcje znajdziesz w artykule Testowanie połączenia z usługą Bezpieczny LDAP.
  • Jak dokończyć konfigurację
    Po połączeniu klienta LDAP zgodnie z instrukcjami podanymi na tej stronie musisz dokończyć jego konfigurację, zmieniając stan usługi na Włączona w konsoli administracyjnej Google. Instrukcje znajdziesz w sekcji 5. Włącz klienty LDAP.

Zawartość tego artykułu

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

W tych instrukcjach zakładamy, że pobrane pliki klucza i certyfikatu klienta 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 poniżej, zapoznaj się z dokumentacją tej aplikacji.

Uwaga: niektóre klienty LDAP, takie jak Atlassian Jira i SSSD, podczas uwierzytelniania użytkownika wyszukują go, aby uzyskać więcej informacji na jego temat. Aby mieć pewność, że uwierzytelnianie użytkowników działa prawidłowo w przypadku takich klientów LDAP, musisz włączyć opcję Odczytywanie informacji o użytkownikach we wszystkich jednostkach organizacyjnych, w których włączona jest opcja Weryfikowanie danych logowania użytkowników. (instrukcje znajdziesz w artykule Konfigurowanie uprawnień dostępu).

Aby połączyć klienta LDAP z usługą bezpiecznego 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 klienta TLS jako głównego mechanizmu uwierzytelniania. Aby rozpocząć proces przesyłania certyfikatu do klienta LDAP, otwórz ustawienia uwierzytelniania lub katalogu klienta LDAP i wpisz informacje z tabeli poniżej.

    Uwaga: szczegółowe informacje o tym, jak i gdzie przesł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.

Certyfikat klienta i pliki kluczy

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óre klienty LDAP, takie jak 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 opisane w sekcji ldp.exe (Windows).
  2. Otwórz Akcja > Połącz z…
  3. Wpisz te ustawienia połączenia:

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

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

    Użyj szyfrowania SSL: zaznaczone
  4. Kliknij Advanced… (Zaawansowane) i wpisz te informacje:

    Specify credentials (Określ dane logowania): zaznaczone
    Username (Nazwa użytkownika): nazwa użytkownika z danych logowania z konsoli administracyjnej
    Password (Hasło): hasło z danych logowania z konsoli administracyjnej
    Port Number (Numer portu): 636
    Protocol (Protokół): LDAP
    Simple bind authentication (Uwierzytelnianie Simple Bind): 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. Jeśli dane logowania są prawidłowe, 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ę, na przykład Google LDAP
    Nazwa hosta: localhost
    Port: 1389 (lub port nasłuchiwania/akceptowania stunnel)
    Metoda szyfrowania: bez szyfrowania (Uwaga: jeśli stunnel działa zdalnie, zalecane jest szyfrowanie między stunnel a klientem).
  5. Kliknij Dalej.
  6. Wpisz parametry uwierzytelniania:

    Authentication Method (Metoda uwierzytelniania): Simple Authentication (Uwierzytelnianie proste)
    Bind DN or user (Powiąż nazwę wyróżniającą lub użytkownika): nazwa użytkownika z danych logowania z konsoli administracyjnej
    Bind password (Powiąż hasło): hasło z danych logowania z konsoli administracyjnej
  7. Kliknij Dalej.
  8. Wpisz podstawową nazwę wyróżniającą.
    To jest nazwa domeny w formacie DN (dc=example,dc=com dla example.com).
  9. Kliknij Zakończ.

Atlassian Jira

Atlassian Jira wyszukuje 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żytkownika. 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żywanie stunnel jako serwera proxy).

Uwaga: w poniższych instrukcjach przyjęto, że aplikacja Jira jest zainstalowana w katalogu /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).

    Na 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 ze wskazówkami podanymi 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. Otwórz 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.

    Aby użytkownik mógł zalogować się w Atlassian Jira, musi 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 dyskusyjnej Google, której chcesz przyznać dostęp do Jira.

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 /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 odpowiednio 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 klienta domyślnego, zaktualizuj odpowiedniego klienta (klienta tunelu wewnętrznego lub dowolnego klienta niestandardowego), który został przez Ciebie skonfigurowany.
    1. Zmodyfikuj sekcję authorize, aby dodać na dole ten blok po instrukcji protokołu uwierzytelniania hasła (PAP):

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

    2. W sekcji authorize (autoryzacja) włącz LDAP, usuwając znak „-” przed tą nazwą.

      #
      # Moduł ldap odczytuje hasła z bazy danych LDAP.
      ldap
    3. Zmodyfikuj sekcję authenticate, edytując blok Auth-Type LDAP w następujący 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. Zmień wartość <Port> na port 3268 w przypadku zwykłego tekstu z włączonym StartTLS i na 3269 w przypadku portu SSL/TLS (domyślne wartości to 389 dla portu zwykłego tekstu i 636 dla portu SSL/TLS).
  4. Ustaw wartość <TestDN> na nazwę domeny w formacie DN. (na przykład dc=example,dc=com dla example.com).
  5. Do plików ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config i ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config dodaj ten wiersz:

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

    lub ten 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 Web Access kliknij Edytuj.
    Zostanie wyświetlone okno Edit Application (Edycja aplikacji) dla aplikacji Web Access.
  10. W grupie Parametry konfiguracji wybierz Tylko jawne na liście Zasady logowania, a następnie kliknij OK.

Podczas logowania użyj hasła sieciowego powiązanego z użytkownikiem domeny.

Rejestrowanie wyjątków na potrzeby uwierzytelniania serwera LDAP

Jeśli masz problemy z konfiguracją 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ć rejestrowanie wyjątków na potrzeby 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 używasz 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ą taką samą nazwę (z innym rozszerzeniem). 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 kliknij Dalej.
  9. Wpisz hasło z kroku 2 i kliknij Dalej.
  10. Wybierz magazyn certyfikatów Osobiste, kliknij Dalej, a następnie kliknij Zakończ.
  11. Uruchom Ldp.exe.
  12. Kliknij Połączenie > Połącz….
  13. Wpisz te informacje o połączeniu:

    Serwer: ldap.google.com
    Port: 636
    Bezpołączeniowy: odznaczone
    SSL: zaznaczone
  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, LDP.exe wyświetli w prawym panelu zawartość Active Directory, np. wszystkie atrybuty obecne w podstawowej nazwie wyróżniającej.

Netgate/pfSense

Instrukcje dotyczące łączenia rozwiązania Netgate/pfSense z usługą Bezpieczny LDAP znajdziesz w artykule Configuring Google Cloud Identity as an Authentication Source (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 klienta i klucza to ldap-client.crt i ldap-client.key, Twoja 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)'

Spowoduje to ustawienie odpowiednich zmiennych środowiskowych wskazujących klucze klienta. Inne opcje polecenia ldapsearch możesz zastąpić odpowiednimi filtrami, wymaganymi atrybutami itd. Więcej informacji znajdziesz na stronach podręcznika 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. W prawym górnym rogu paska menu kliknij  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 na pasku menu w lewym górnym rogu i wybierz Importuj elementy.
  5. Przejdź do lokalizacji z wygenerowanym plikiem ldap-client.p12, wybierz plik ldap-client.p12 i kliknij Open (Otwórz).
    Jeśli pojawi się prośba o podanie hasła, wpisz je.
    Na liście certyfikatów systemowego pęku kluczy powinien pojawić się certyfikat o nazwie LDAP Client.
  6. Kliknij strzałkę obok certyfikatu Klient LDAP. Poniżej pojawi się klucz prywatny.
    1. Kliknij dwukrotnie klucz prywatny.
    2. W oknie dialogowym wybierz kartę Kontrola dostępu i kliknij + w lewym dolnym rogu.
    3. W otwartym oknie naciśnij 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 wpisz hasło, jeśli pojawi się taka prośba.

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

  7. Jeśli zaimportowany wcześniej do pęku kluczy plik ldap-client.p12 ma nazwę LDAP Client, Twoja domena to example.com, a nazwa użytkownika to jsmith, wpisz:

    $ 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ą. Na dole pliku dodaj:

    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 klienty VPN tak, aby używały 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 OpenVPN Access Server z usługą Bezpieczny LDAP znajdziesz w artykule Configuring Google Secure LDAP with OpenVPN Access Server (Konfigurowanie usługi Bezpieczny LDAP Google na serwerze OpenVPN Access Server).

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 Browser 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 używasz 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ą taką samą nazwę (z innym rozszerzeniem). 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 nazwy wyróżniającej. (np. dc=example,dc=com dla 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. Jeśli używasz starszych wersji Splunk, takich jak Splunk 8.1.3, do serwera LDAP może być wysyłanych zbyt wiele zapytań LDAP, co może spowodować szybkie wyczerpanie limitu LDAP. Więcej informacji o problemach ze Splunk w wersji 8.1.3 znajdziesz w artykule 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 /home/splunkadmin/.ldaprc użytkownika:

    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, a następnie kliknij Zapisz:

Nazwa

Bezpieczny LDAP Google

Host

ldap.google.com

Port

636

SSL włączony

Zaznaczono

Kolejność połączeń

1

Nazwa wyróżniająca powiązania

Wpisz dane logowania wygenerowane w konsoli administracyjnej Google.

Hasło powiązanej nazwy wyróżniającej

Wpisz dane logowania wygenerowane w konsoli administracyjnej Google.

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

nazwę domeny w formacie DN (na przykład dc=example,dc=com dla 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 adresu e-mail

mail

Atrybut mapowania grup

dn (nazwa wyróżniająca)

Podstawowa nazwa wyróżniająca grupy

Nazwa domeny w formacie DN (na przykład ou=Groups,dc=example,dc=com dla domeny example.com).

Filtr wyszukiwania grup statycznych

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

Atrybut nazwy grupy

cn

Atrybut statycznego elementu członkowskiego

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żytkownika. 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ą bezpiecznego 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 certyfikatu 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ę na Google Workspace Enterprise lub Cloud Identity Premium.

  4. Utwórz plik /etc/sssd/sssd.conf z tą 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ć równa lub wyższa niż 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 plik /etc/nsswitch.conf zawiera „sss” dla encji passwd, shadow, group i netgroup:

    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żytkownika. 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. Jeśli pliki certyfikatu i klucza klienta mają nazwy /var/ldap-client.crt i /var/ldap-client.key, a Twoja domena to example.com, zmodyfikuj plik /etc/sssd/sssd.conf, używając konfiguracji takiej jak:


    [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łaściciela i uprawnienia pliku konfiguracji:

    $ 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, nadal możesz połączyć się z usługą Bezpieczny LDAP, o ile masz włączony wewnętrzny dostęp do usług Google. Więcej informacji znajdziesz w artykule o konfigurowaniu 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ści:

Etap przygotowania

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

Krok 1. Dodaj macOS jako klienta LDAP w konsoli administracyjnej Google

Instrukcje znajdziesz w artykule Dodawanie klientów LDAP. Możesz też obejrzeć prezentację usługi Bezpieczny LDAP. Podczas tego procesu pobierzesz też wygenerowany automatycznie 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, ponieważ będzie Ci potrzebna w następnym kroku.
    8. Wykonaj krok 6 w sekcji ldapsearch (macOS) w tym artykule, aby skonfigurować kontrolę dostępu do klucza prywatnego i dodać aplikacje wymienione poniżej. Jeśli klucz prywatny nie jest widoczny w kategorii Wszystkie elementy, przejdź do kategorii Moje certyfikaty i znajdź odpowiedni wpis klucza prywatnego, rozwijając odpowiedni certyfikat.

      Aplikacja ldapsearch, o której mowa w instrukcjach, jest przydatna tylko w przypadku rozwiązywania problemów, a nie do innych celów. Zwykle jest usuwany przed przyznaniem użytkownikom dostępu do systemu macOS.

      Do listy kontroli dostępu należy dodać te 3 aplikacje:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Dodaj wiersz do pliku konfiguracyjnego /etc/openldap/ldap.conf, upewniając się, że „LDAP Client” to dokładnie ta sama nazwa certyfikatu, która jest wyświetlana w aplikacji Dostęp do pęku kluczy w systemie 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 do katalogu Google w celu uwierzytelnienia

Otwórz aplikację Directory Utility (Narzędzie katalogowe), 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 przy użyciu SSL) i kliknij Manual (Ręcznie).
  5. Wybierz nową nazwę serwera i kliknij Edycja….
  6. Wpisz opisową nazwę konfiguracji, na przykład Bezpieczny LDAP Google.
  7. Wybierz Szyfruj przy użyciu protokołu 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 wpisz dc=zomato,dc=com, jeśli nazwa domeny to zomato.com.
    3. Kliknij OK.
    4. Skonfiguruj atrybuty w typie rekordu Użytkownicy:
      1. W sekcji Record Types and Attributes (Typy i atrybuty rekordów) wybierz Users (Użytkownicy) i kliknij przycisk „+”.
      2. W wyskakującym okienku wybierz Attribute Types (Typy atrybutów), zaznacz GeneratedUID (Wygenerowany identyfikator UID) i kliknij OK, aby zamknąć okienko.

        Po rozwinięciu sekcji Użytkownicy powinien być widoczny identyfikator GeneratedUID.
      3. Kliknij GeneratedUID, a następnie kliknij ikonę „+” w polu po prawej stronie.
      4. Wpisz apple-generateduid w polu tekstowym i naciśnij Enter.
      5. W węźle Users (Użytkownicy) kliknij atrybut NFSHomeDirectory.
      6. Na ekranie po prawej stronie zaktualizuj wartość tego atrybutu na #/Users/$uid$
      7. Kliknij OK i wpisz hasło, aby zapisać zmiany.
  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ę Authentication (Uwierzytelnianie) i kliknij ikonę „+”.
    5. Wybierz /LDAPv3/ldap.google.com z listy domen katalogu, a następnie kliknij Dodaj.
    6. Kliknij przycisk Zastosuj i wpisz hasło administratora, jeśli pojawi się taka prośba.
  10. Uruchom następujące 4 polecenia, aby wyłączyć mechanizmy uwierzytelniania DIGEST-MD5, CRAM-MD5, NTLM i GSSAPI SASL. System macOS użyje metody Simple Bind 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. Zrestartuj komputer, 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 logowania wymaga połączenia sieciowego. 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ę przy użyciu 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 Macu.

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

  1. Uruchom to polecenie, aby połączyć się z serwerem Bezpiecznego LDAP i skonfigurować ścieżkę katalogu domowego oraz konta mobilne:

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

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

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

Krok 5. (Opcjonalnie) Skonfiguruj ustawienia ekranu logowania

  1. W lewym dolnym rogu kliknij Preferencje systemowe > Użytkownicy i grupy > Opcje logowania.
  2. Zwolnij blokadę, podając dane logowania administratora.
  3. Zmień ustawienie Wyświetlaj okno logowania jako na Nazwa i hasło.

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

  1. Upewnij się, że urządzenie jest połączone z internetem. Jeśli nie masz połączenia z internetem, logowanie użytkownika bezpiecznej usługi LDAP nie będzie działać.
    Uwaga: połączenie z internetem jest wymagane tylko przy pierwszym logowaniu. Kolejne logowania mogą odbywać się bez dostępu do internetu.
  2. Zaloguj się na urządzeniu za pomocą konta użytkownika, które jest skonfigurowane do używania bezpiecznego LDAP do 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 systemem macOS, na którym została przeprowadzona ręczna konfiguracja podczas fazy przygotowania.

Krok 1. Utwórz profil Maca z certyfikatem za pomocą narzędzia 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 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. Przekonwertuj plik konfiguracji Directory (plist) na format 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 systemem 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 Pythonie, 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. Automatycznie skonfiguruj urządzenia 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 ustawionego na etapie przygotowań.
  5. Uruchom ponownie komputer z systemem macOS.
  6. Utwórz konta mobilne zgodnie z instrukcjami podanymi 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ę na zarządzanie 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 problemu: użytkownik musi zalogować się w Google na innym urządzeniu (np. 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.
Wykonaj w terminalu 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ą 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ń opcję w menu z Skonfiguruj IPv6 na Tylko połączenie lokalne.
  4. Kliknij OK, a następnie 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 widzisz użytkowników i grupy z domeny w Google Domains.

Instrukcje konfiguracji aplikacji w języku Java

Większość aplikacji opartych na języku Java, które oferują funkcje LDAP, można skonfigurować do uwierzytelniania za pomocą certyfikatów klienta, instalując certyfikaty klienta w magazynie kluczy aplikacji. 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. Podczas tego procesu będziesz proszony 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 używasz 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ą taką samą 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 można konfigurować 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 artykule Instrukcje konfiguracji podstawowej.

Opcjonalnie: używanie stunnel jako serwera proxy

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

Skonfiguruj stunnel, aby udostępniał certyfikat klienta serwerowi LDAP, i skonfiguruj klienta, aby łączył się ze stunnel. Najlepiej uruchomić stunnel na tych samych serwerach co aplikacja i nasłuchiwać tylko lokalnie, aby nie ujawniać 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 następującej treści (przy założeniu, ż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 postaci zwykłego tekstu bez włączonego protokołu 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 sieciowe tak, aby tylko niezbędne aplikacje miały dostęp do serwera stunnel. Możesz też skonfigurować stunnel tak, aby nasłuchiwał z TLS, dzięki czemu dane 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. Włącz klienty LDAP.

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