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

Skorzystaj z instrukcji znajdujących się w tym artykule, aby połączyć klienta LDAP z usługą Bezpieczny LDAP.

Ważne:

  • Zapoznaj się z dokumentacją dostawcy
    Zawarte w tym artykule informacje dotyczące połączenia klienta LDAP z usługą Bezpieczny LDAP mają wyłącznie charakter informacyjny i mogą ulec zmianie. Oprócz przeczytania tych instrukcji zapoznaj się z dokumentacją dostawcy, która zawiera aktualną procedurę łączenia klienta z usługą Bezpieczny LDAP.
  • Zanim rozpoczniesz
    Zanim rozpoczniesz wykonywanie opisanych tu czynności, dodaj klienta do usługi Bezpieczny LDAP, skonfiguruj uprawnienia dostępu, pobierz certyfikat i klucz klienta oraz opcjonalnie wygeneruj dane logowania.
  • Testowanie połączenia
    Przed wykonaniem tych czynności możesz przeprowadzić szybki test połączenia przy użyciu prostych narzędzi, takich jak ldapsearch, ADSI czy ldp.exe. Tych narzędzi możesz też użyć do rozwiązywania problemów, jeśli wystąpią błędy podczas próby połączenia klienta LDAP z usługą. Instrukcje znajdziesz w artykule Testowanie połączeń z usługą Bezpieczny LDAP.
  • Jak zakończyć konfigurację
    Gdy połączysz klienta LDAP z usługą w sposób opisany na tej stronie, musisz zakończyć jego konfigurację. W tym celu zmień stan usługi na Włączona w konsoli administracyjnej Google. Instrukcje znajdziesz w artykule 5. Zmień stan usługi dla klienta LDAP na Włączona.

Zawartość tego artykułu

W tym artykule znajdziesz następujące sekcje:

W tych instrukcjach przyjęto, że pobrano klucz klienta o nazwie ldap-client.key i certyfikat o nazwie ldap-client.crt.

Podstawowe instrukcje konfiguracji

Ta sekcja zawiera ogólne instrukcje łączenia klienta LDAP z usługą Bezpieczny LDAP. Jeśli Twojego klienta LDAP nie wymieniono w poniższych instrukcjach, zapoznaj się z dokumentacją używanej aplikacji.

Uwaga: niektóre klienty LDAP, na przykład Atlassian Jira czy SSSD, podczas uwierzytelniania użytkownika wyszukują go, aby uzyskać o nim więcej informacji. Aby uwierzytelnianie użytkownika działało prawidłowo z takimi klientami LDAP, włącz Odczytywanie informacji o użytkownikach dla wszystkich jednostek organizacyjnych, w których włączono Weryfikowanie danych logowania użytkowników. (Odpowiednie instrukcje znajdziesz w artykule Skonfiguruj uprawnienia 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 klienta TLS jako głównego mechanizmu uwierzytelniania. Aby rozpocząć przesyłanie certyfikatu do klienta LDAP, otwórz ustawienia katalogu lub uwierzytelniania klienta LDAP i wpisz informacje z tabeli, która znajduje się poniżej.

    Uwaga: szczegółowe informacje na temat sposobu i miejsca przesyłania certyfikatów TLS zawiera dokumentacja dostawcy.

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

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

Domena w formacie DN. Na 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 uwierzytelnienia za pomocą certyfikatu klienta, przeczytaj sekcję Używanie programu stunnel jako serwera proxy.

WAŻNE: niektóre klienty LDAP, takie jak Apache Directory Studio, nie obsługują importowania certyfikatów cyfrowych. Rozwiązanie dla takiego scenariusza opisano w sekcji Używanie programu stunnel jako serwera proxy.

Instrukcje konfigurowania określonych klientów LDAP

Edytor ADSI (Windows)

Wykonaj te czynności:

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

    Nazwa: wpisz nazwę połączenia, na przykład Google LDAP.
    Punkt połączenia: „Wybierz lub wpisz nazwę wyróżniającą bądź kontekst nazewnictwa”
    Wpisz nazwę domeny w formacie nazwy wyróżniającej (np. dc=example,dc=com w przypadku domeny example.com).

    Komputer: „Wybierz lub wpisz domenę bądź serwer”
    ldap.google.com

    Użyj szyfrowania SSL: zaznaczone
  4. Kliknij Zaawansowane... i wpisz te dane:

    Określ dane logowania: zaznaczone
    Nazwa użytkownika: nazwa użytkownika z danych logowania uzyskanych z konsoli administracyjnej
    Hasło: hasło z danych logowania uzyskanych z konsoli administracyjnej
    Numer portu: 636
    Protokół: LDAP
    Proste uwierzytelnianie 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, nawiąż połączenie przy użyciu programu stunnel i użyj danych logowania (nazwy użytkownika i hasła) wygenerowanych w konsoli administracyjnej Google. Jeśli dane logowania są dostępne, a program stunnel nasłuchuje na porcie 1389 lokalnego hosta, wykonaj następujące 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: brak 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 (Proste uwierzytelnianie)
    Bind DN or user (Powiązana nazwa wyróżniająca lub użytkownik): nazwa użytkownika z danych logowania uzyskanych z konsoli administracyjnej
    Bind password (Powiązane hasło): hasło z danych logowania uzyskanych z konsoli administracyjnej
  7. Kliknij Dalej.
  8. Wpisz podstawową nazwę wyróżniającą.
    Jest to nazwa domeny w formacie nazwy wyróżniającej (dc=example,dc=com w przypadku domeny example.com).
  9. Kliknij Zakończ.

Atlassian Jira

Klient Atlassian Jira podczas uwierzytelniania użytkownika wyszukuje go, aby uzyskać o nim więcej informacji. Aby uwierzytelnianie użytkownika działało prawidłowo z tym klientem LDAP, włącz Odczytywanie informacji o użytkownikach i Odczytywanie informacji o grupach dla wszystkich jednostek organizacyjnych, w których włączono 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. Stosuj środki ostrożności, aby uchronić się przed nieautoryzowanym dostępem do lokalnej powłoki, pliku dziennika i konsoli administracyjnej Google. Zamiast opisanego niżej rozwiązania możesz użyć metody stunnel4 (przeczytaj sekcję Opcjonalnie: używanie programu stunnel jako serwera proxy).

Uwaga: w dalszych instrukcjach przyjęliśmy, że klient Jira jest zainstalowany 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 generowany 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 tymi instrukcjami:

    "-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=hasło”, zastępując fragment „hasło” ustalonym wcześniej hasłem.
  4. Uruchom ponownie 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. Kliknij Ustawienia > Zarządzanie użytkownikami. Aby wyświetlić ustawienia, kliknij ikonę koła zębatego w prawym górnym rogu.
    2. Kliknij Katalogi użytkowników.
    3. Kliknij Add Directory (Dodaj katalog).
    4. Wybierz typ LDAP.
    5. Kliknij Dalej.
  6. Wpisz następujące informacje:

    Nazwa

    Bezpieczny LDAP Google

    Typ katalogu

    OpenLDAP

    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

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

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

    Opcjonalnie. "ou=Users"

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

    Opcjonalnie. „ou=Groups”

    LDAP Permissions (Uprawnienia LDAP)

    Tylko do odczytu

    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)

    użytkownik

    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 klient Atlassian Jira zezwolił użytkownikowi na zalogowanie się, musi on być członkiem grupy, której przyznano dostęp do Jira.

    Aby nadać rolę grupie:
    1. Kliknij Ustawienia > Aplikacje > Dostęp do aplikacji.
    2. W polu tekstowym Select group (Wybierz grupę) wpisz nazwę grupy dyskusyjnej Google, dla której chcesz udostępnić klienta 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

Wykonaj te czynności:

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

    Gdy to zrobisz, dodaj konfigurację LDAP, instalując wtyczkę freeradius-ldap.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Skopiuj klucz klienta LDAP do pliku /etc/freeradius/3.0/certs/ldap-client.key i plik certyfikatu do pliku /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=domena,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 korzystasz z klienta domyślnego, pamiętaj, aby zaktualizować odpowiedniego klienta (inner-tunnel lub dowolnego klienta niestandardowego), który został skonfigurowany.
    1. W sekcji authorize dodaj następujący blok kodu na dole po instrukcji PAP (Password Authentication Protocol):

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

    2. W sekcji authorize włącz LDAP, tj. usuń znak „-” znajdujący się przed akronimem tego protokołu.

      #
      # Moduł LDAP odczytuje hasła z bazy danych LDAP.
      ldap
    3. Zmodyfikuj blok Auth-Type LDAP w sekcji authenticate w następujący sposób:

      # Auth-Type LDAP {
      ldap
      # }

    4. W sekcji authenticate zmodyfikuj 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 (materiał w języku angielskim).

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

Wykonaj te czynności:

  1. Na serwerze WWW 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. Zaktualizuj wartość <Server> na ldap.google.com.
  3. Zaktualizuj wartość <Port> na port 3268 w przypadku tekstu nieszyfrowanego z włączoną opcją StartTLS oraz na 3269 w przypadku 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. (na przykład dc=example,dc=com w przypadku domeny 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 Web Access kliknij Edit (Edytuj).
    Zostanie wyświetlone okno Edit Application (Edycja aplikacji) dla aplikacji Web Access.
  10. W grupie Configuration parameters (Parametry konfiguracji) wybierz Explicit only (Tylko jawne) na liście Logon policy (Zasady logowania), a następnie kliknij OK.

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

Rejestrowanie wyjątków uwierzytelniania serwera LDAP

Jeśli występują trudności podczas konfigurowania uwierzytelniania serwera LDAP, możesz włączyć rejestrowanie wyjątków, co ułatwi 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 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)

Wykonaj te czynności:

  1. Przekonwertuj plik certyfikatu i plik klucza na jeden plik w formacie PKCS12. W wierszu poleceń wpisz podane niżej polecenia.

    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 do szyfrowania pliku wyjściowego.

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

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

    Ważne: oba pliki (<PLIK_CERTYFIKATU>.crt i <PLIK_CERTYFIKATU>.key) muszą znajdować się w tym samym katalogu. Pliki key i crt muszą mieć 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 wyszukaj „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 pliku 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 Osobisty, kliknij Dalej, a następnie kliknij Zakończ.
  11. Uruchom Ldp.exe.
  12. Otwórz Połączenie > Połącz…
  13. Wpisz te dane połączenia:

    Serwer: ldap.google.com
    Port: 636
    Bez połączenia: niezaznaczone
    SSL: zaznaczone
  14. Kliknij OK.
  15. Otwórz Widok > Drzewo.
  16. Wpisz podstawową nazwę wyróżniającą. Jest to nazwa domeny w formacie DN. (na przykład dc=example,dc=com w przypadku domeny example.com).
  17. Kliknij OK.
  18. Jeśli uda się nawiązać połączenie, narzędzie LDP.exe wyświetli w prawym okienku zawartość Active Directory, na przykład wszystkie atrybuty obecne w obszarze podstawowej nazwy wyróżniającej.

Netgate / pfSense

Instrukcje dotyczące łączenia platformy 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.

Przyjęto tu założenie, że plik z certyfikatem klienta ma nazwę ldap-client.crt, plik z kluczem klienta ma nazwę ldap-client.key, domena to example.com, a nazwa użytkownika to jkowalski:

$ 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, że odpowiednie zmienne środowiskowe będą wskazywały na klucze klienta. Inne opcje polecenia ldapsearch możesz zastąpić odpowiednimi filtrami, wymaganymi atrybutami itd. Szczegółowe informacje znajdziesz na stronach man polecenia ldapsearch („man ldapsearch”).

ldapsearch (macOS)

Wykonaj te czynności:

  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.
    Certyfikat o nazwie Klient LDAP powinien być teraz widoczny na liście certyfikatów pęku kluczy System.
  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, wpisując /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ę prośba o nie.

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

  7. Zakładając, że plik ldap-client.p12 zaimportowany wcześniej do pęku kluczy ma nazwę Klient LDAP, Twoją domeną jest example.com, a nazwa użytkownika to jkowalski, wpisz następujące informacje:

    $ 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)

Wykonaj te czynności:

  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. 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 klucz klienta LDAP do pliku /etc/openvpn/ldap-client.key i plik certyfikatu do pliku /etc/openvpn/ldap-client.crt.
  3. Utwórz plik /etc/openvpn/auth-ldap.conf z następującą treścią (przyjmując, że nazwa domeny to example.com):

    <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. Zmień plik konfiguracji 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 klienty VPN, aby korzystały z nazw użytkowników i haseł. Na przykład w konfiguracji klienta OpenVPN dodaj na końcu pliku konfiguracji fragment auth-user-pass i uruchom klienta OpenVPN:

    $ openvpn --config /path/to/client.conf
  7. Wykonaj czynności umożliwiające użycie programu stunnel jako serwera proxy.

Serwer dostępu OpenVPN (wersja komercyjna)

Instrukcje łączenia serwera dostępu OpenVPN z usługą Bezpieczny LDAP znajdziesz w dokumencie Configuring Google Secure LDAP with OpenVPN Access Server (Konfigurowanie usługi Google Bezpieczny LDAP z serwerem dostępu OpenVPN).

PaperCut MF i NG

Instrukcje dotyczące łączenia oprogramowania PaperCut z usługą Bezpieczny LDAP znajdziesz w artykule How to sync and authenticate Google Workspace and Google Cloud Identity users in PaperCut (Jak zsynchronizować i uwierzytelnić użytkowników Google Workspace i Google Cloud Identity w oprogramowaniu 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: przed rozpoczęciem upewnij się, że zainstalowano program Softerra LDAP Browser w wersji 4.5 (4.5.19808.0) lub nowszej. Zobacz LDAP Browser 4.5.

Wykonaj te czynności:

  1. Przekonwertuj plik certyfikatu i plik klucza na jeden plik w formacie PKCS12. W wierszu poleceń wpisz podane niżej polecenia.

    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 do szyfrowania pliku wyjściowego.

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

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

    Ważne: oba pliki (<PLIK_CERTYFIKATU>.crt i <PLIK_CERTYFIKATU>.key) muszą znajdować się w tym samym katalogu. Pliki key i crt muszą mieć 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 Narzędzia > Menedżer certyfikatów.
    2. Kliknij Importuj….
    3. Kliknij Dalej.
    4. Kliknij Przeglądaj…
    5. Na liście File type (Typ pliku) w prawym dolnym rogu wybierz Personal Information Exchange (*.pfx;*.p12) (Wymiana informacji osobistych – *.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. W przypadku magazynu certyfikatów wybierz Personal (Osobisty).
    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 dane:

      Host: ldap.google.com
      Port:
      636
      Base DN (Podstawowa nazwa wyróżniająca): nazwa Twojej domeny w formacie nazwy wyróżniającej (np. dc=example,dc=com w przypadku domeny example.com)
      Use secure connection (SSL) (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 podłączania usługi Splunk do usługi Bezpieczny LDAP upewnij się, że używasz Splunk w wersji 8.1.4 lub nowszej. Jeśli używasz starszych wersji Splunk (np. 8.1.3), obszerne zapytania LDAP mogą być wysyłane do serwera LDAP, co może skutkować szybkim wyczerpaniem Twojego limitu LDAP. Więcej informacji na temat problemów ze Splunk w wersji 8.1.3 znajdziesz w artykule opisującym znane problemy z usługą Splunk.

Wykonaj te czynności:

  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.crt.

    $ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

    $ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

    $ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

  2. 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 ustawienia konfiguracji 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 przy użyciu internetowego interfejsu użytkownika Splunk. Wpisz te dane, a potem kliknij Zapisz:

Nazwa

Bezpieczny LDAP Google

Osoba prowadząca

ldap.google.com

Port

636

Włączono SSL

Zaznaczono

Kolejność łączenia

1

Bind DN

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

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

Filtr podstawowy użytkownika

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

Atrybut nazwy użytkownika

uid

Atrybut rzeczywistej nazwy

displayname

Atrybut adresu e-mail

mail

Atrybut mapowania grup

dn

Podstawowa nazwa wyróżniająca grupy

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

Static group search filter

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

Atrybut nazwy grupy

cn

Static member attribute

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żytkownika działało prawidłowo z tym klientem LDAP, włącz Odczytywanie informacji o użytkownikach i Odczytywanie informacji o grupach dla wszystkich jednostek organizacyjnych, w których włączono Weryfikowanie danych logowania użytkowników. (Odpowiednie instrukcje znajdziesz w artykule Skonfiguruj uprawnienia dostępu).

Aby połączyć klienta SSSD w 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 oraz skopiuj pliki CRT i KEY do /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 to być co najmniej 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 has zawiera „sss” w przypadku elementów 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ź plik /var/log/sssd.conf pod kątem występowania 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. Pomijanie.

    Action: You need to chmod 600 the .conf file.

    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}'. Sprawdź, czy nie ma literówek.

    [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}'. Sprawdź, czy nie ma literówek.

    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żytkownika działało prawidłowo z tym klientem LDAP, włącz Odczytywanie informacji o użytkownikach i Odczytywanie informacji o grupach dla wszystkich jednostek organizacyjnych, w których włączono 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 lub nowszej.

    $ sudo apt-get install sssd
  2. Jeśli plik z certyfikatem klienta ma nazwę /var/ldap-client.crt, plik z kluczem ma nazwę /var/ldap-client.key, a domena ma nazwę example.com, wpisz w pliku /etc/sssd/sssd.conf taką konfigurację:


    [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 pliku konfiguracji i uprawnienia do tego pliku:

    $ 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 korzystasz z 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ą Bezpieczny LDAP, dopóki masz włączony wewnętrzny dostęp do usług Google. Więcej informacji znajdziesz w artykule Configuring Private Google Access (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.

Spis treści:

 Etap przygotowań

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

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

Instrukcje znajdziesz w artykule Dodawanie klientów LDAP. Możesz też obejrzeć prezentację o usłudze Bezpieczny LDAP. W trakcie tego procesu pobierzesz też automatycznie wygenerowany certyfikat klienta TLS.

Krok 2. Zaimportuj certyfikat do pęku kluczy systemu

  1. Skopiuj certyfikat (plik ZIP pobrany w kroku 1) i klucz do komputera z macOS.
    Wskazówka: pliki z certyfikatem i kluczem znajdziesz po rozpakowaniu pliku ZIP.
  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: zanotuj 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 > Importuj elementy.

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

    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: nowy certyfikat i powiązany klucz prywatny powinny pojawić się na liście kluczy. Certyfikat może mieć nazwę Klient LDAP. Zanotuj nazwę certyfikatu – będzie potrzebna w następnym kroku.
    8. Wykonaj krok 6 w sekcji ldapsearch (macOS) tego artykułu, by skonfigurować kontrolę dostępu dla klucza prywatnego i dodać aplikacje określone poniżej. Jeśli klucz prywatny nie wyświetla się w kategorii Wszystkie elementy, przełącz się na kategorię Moje certyfikaty i znajdź właściwy wpis klucza prywatnego, rozwijając odpowiedni certyfikat.

      Aplikacja ldapsearch, jak określono w instrukcjach, przydaje się tylko do rozwiązywania problemów – nie służy do innych celów. Zwykle jest usuwana przed przyznaniem użytkownikom dostępu do 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 /etc/openldap/ldap.conf, upewniając się, że „Klient LDAP” to dokładnie ta sama nazwa certyfikatu, która jest widoczna w aplikacji Dostęp do pęku kluczy na macOS po zaimportowaniu pliku .p12 (nazwa pochodzi z pola X.509 Subject Common Name wygenerowanego certyfikatu):

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

Krok 3. Skieruj urządzenie do katalogu Google na potrzeby uwierzytelniania

Otwórz aplikację Narzędzie katalogowe, aby utworzyć nowy węzeł katalogu LDAP:

  1. Aby wprowadzić zmiany, kliknij ikonę kłódki i wpisz hasło.
  2. Wybierz LDAPv3 i kliknij ikonę ołówka, aby edytować ustawienia.
  3. Kliknij Nowy….
  4. Jako nazwę serwera wpisz ldap.google.com, wybierz Szyfruj, używając SSL i kliknij Ręcznie.
  5. Wybierz nową nazwę serwera i kliknij Edycja….
  6. Wpisz nazwę opisową (np. Bezpieczny LDAP Google) jako nazwę konfiguracji.
  7. Wybierz Szyfruj, używając SSL i ustaw wartość 636 jako numer portu.
  8. Otwórz kartę Szukanie i mapowania.
    1. Z menu Dostęp do serwera LDAPv3 przy użyciu wybierz RFC2307.
    2. Gdy pojawi się prośba, wpisz informacje związane z domeną w polu sufiksu podstawy wyszukiwania. Jeśli na przykład nazwa domeny to zomato.com, wpisz dc=zomato,dc=com.
    3. Kliknij OK.
    4. Skonfiguruj atrybuty typu rekordu Użytkownicy:
      1. W sekcji Typy rekordów i atrybuty wybierz Użytkownicy i kliknij przycisk „+”.
      2. W wyskakującym okienku wybierz Typy atrybutów, następnie wybierz Wygenerowany identyfikator GUID,a na końcu kliknij OK,by zamknąć wyskakujące okienko.

        GeneratedUID powinien być wyświetlany w sekcji Użytkownicy po jej rozwinięciu.
      3. Kliknij wygenerowany identyfikator GUID, a potem kliknij ikonę „+” w polu po prawej stronie.
      4. W polu tekstowym wpisz apple-generateduid i kliknij Enter.
      5. W węźle Użytkownicy kliknij atrybut NFSHomeDirectory.
      6. Na ekranie po prawej stronie zaktualizuj wartość tego atrybutu do #/Users/$uid$.
      7. Kliknij OK i wpisz hasło, aby zapisać zmiany.
  9. W oknie Narzędzia katalogowego określ nową konfigurację LDAP:
    1. Otwórz kartę Zasady wyszukiwania.
    2. Kliknij ikonę kłódki, aby wprowadzić zmiany, i wpisz hasło bieżącego użytkownika, gdy pojawi się o to prośba.
    3. Zmień opcję menu ze Ścieżka wyszukiwania na Ścieżka niestandardowa.
    4. Otwórz kartę Uwierzytelnianie i kliknij ikonę „+”.
    5. Wybierz /LDAPv3/ldap.google.com z listy domen katalogowych i 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 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 (zezwala na 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 pozwala użyć nazwy użytkownika i hasła do konta sieciowego (konta Google), aby się zalogować, niezależnie od tego, czy połączenie z siecią jest aktywne. 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. 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ą adresu e-mail, która jest nazwą użytkownika powiązaną z kontem Google użytkownika. Na przykład jkowalski to część będąca nazwą użytkownika w adresie jkowalski@solarmora.com.

  2. Gdy pojawi się prośba o podanie nazwy administratora używającego SecureToken, wpisz nazwę administratora, a potem, gdy pojawi się prośba, wpisz hasło. Spowoduje to dodanie identyfikatora $uid do programu FileVault. Jest to konieczne, jeśli dysk w 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 Pokaż 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, logowanie użytkownika przy użyciu usługi Bezpieczny LDAP nie będzie działać.
    Uwaga: połączenie z internetem jest potrzebne tylko do pierwszego logowania. Kolejne logowania już go nie wymagają.
  2. Zaloguj się na urządzeniu przy użyciu konta użytkownika skonfigurowanego pod kątem używania usługi Bezpieczny LDAP do uwierzytelniania.

 Etap wdrażania

Instrukcje w tej sekcji przedstawiają automatyzację konfiguracji urządzeń dla użytkowników. Wykonaj kroki 1 i 2 opisane poniżej na tym samym urządzeniu z macOS, na którym została ukończona konfiguracja ręczna na etapie przygotowań.

Krok 1. Utwórz profil na Macu z certyfikatem za pomocą 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. Przekonwertuj plik konfiguracyjny katalogu (plist) na plik xml

W tym kroku wyodrębnisz wszystkie konfiguracje ręczne wykonane w kroku 3 etapu przygotowań do pliku XML. Aby automatycznie skonfigurować inne urządzenia z macOS, możesz użyć tego pliku i profilu Maca utworzonego w kroku 1 powyżej.

  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

    Możesz uzyskać dostęp do pliku 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 Pythona, 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

Otwórz listę 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. Wyświetli się wtedy prośba o wpisanie hasła do pliku .p12 ustawionego podczas etapu przygotowań.
  5. Uruchom ponownie komputer z systemem macOS.
  6. Utwórz konta mobilne zgodnie z instrukcjami w kroku 4 etapu przygotowań i opcjonalnie określ dodatkowe ustawienia opisane w kroku 5 etapu przygotowań.

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ą narzędzia firmy zewnętrznej, 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ę na konto Google przy użyciu innego urządzenia (na przykład urządzenia mobilnego lub komputera), ustawić trwałe hasło, a następnie zalogować się na w macOS przy użyciu nowego hasła.
  • Komputer Mac 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.
Wpisz w terminalu to polecenie: nc -zv ldap.google.com 636
Jeśli nie możesz połączyć się z Google za pomocą tej metody, spróbuj połączyć się przez 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. W menu zmień wybór z Konfiguruj IPv6 na Tylko połączenie lokalne.
  4. Kliknij OK, a następnie kliknij Zastosuj, aby zapisać zmiany.
  5. Sprawdź uwierzytelnianie usługi przez połączenie ldapsearch i prawidłowe wyszukiwanie.

Krok 2.Sprawdź, czy możesz wyświetlać obiekty katalogu

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

Instrukcje konfigurowania aplikacji Java

W większości aplikacji opartych na języku Java i obsługujących LDAP można skonfigurować uwierzytelnianie za pomocą certyfikatów klienta. Aby to zrobić, zainstaluj certyfikaty klienta w magazynie kluczy aplikacji. Szczegóły plików konfiguracji zależą od konkretnej aplikacji, ale zwykle proces jest podobny. Do konfiguracji niezbędne jest zainstalowanie środowisk OpenSSL i Java Runtime Environment.

  1. Przekonwertuj certyfikat i klucze na format magazynu kluczy Java. Podczas tego procesu pojawi się prośba o podanie haseł. Wybierz bezpieczne hasło i używaj go przy wszystkich prośbach. Przyjęto tu założenie, że plik z kluczem 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 (<PLIK_CERTYFIKATU>.crt i <PLIK_CERTYFIKATU>.key) muszą znajdować się w tym samym katalogu. Pliki key i crt muszą mieć taką samą nazwę (z 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. Konfiguracja właściwości Java zależy od aplikacji. Często można ustawić je za pomocą opcji -D polecenia „java” używanego do uruchomienia środowiska. Ustaw właściwości Java 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 zamieszczonych w sekcji Podstawowe instrukcje konfiguracji.

Opcjonalnie: używanie programu stunnel jako serwera proxy

W przypadku klientów, które nie oferują uwierzytelnienia w LDAP przy użyciu certyfikatu klienta, użyj programu stunnel jako serwera proxy.

Skonfiguruj program stunnel tak, aby dostarczał certyfikat klienta do serwera LDAP, a klienta tak, aby łączył się z tym programem. Optymalnym rozwiązaniem jest uruchomienie programu stunnel na tych samych serwerach, na których działa aplikacja, i prowadzenie wyłącznie nasłuchu lokalnego. Pozwoli to uniknąć udostępniania katalogu LDAP poza serwer.

Wykonaj te czynności:

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

    $  sudo apt-get install stunnel4
    
  2. Utwórz plik konfiguracyjny /etc/stunnel/google-ldap.conf z tą zawartością (przyjmują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, edytuj 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.

    Wartość „1636” możesz zmienić na inny, nieużywany numer portu, ale musisz wówczas zmodyfikować także wiersz accept w pliku konfiguracji pokazanym powyżej. Do komunikacji między klientem a programem stunnel musisz używać protokołu LDAP w trybie zwykłego tekstu (bez szyfrowania StartTLS/SSL/TLS), ponieważ ta komunikacja jest prowadzona lokalnie.

Uwaga: jeśli uruchomisz program stunnel na oddzielnym serwerze, musisz skonfigurować zapory sieciowe tak, aby dostęp do serwera stunnel miały tylko niezbędne aplikacje. Program stunnel możesz też skonfigurować w taki sposób, aby nasłuchiwanie odbywało się przy użyciu protokołu TLS. Dane przesyłane między aplikacją i serwerami stunnel będą wówczas szyfrowane. Szczegóły obu tych konfiguracji zależą od ś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. Zmień stan usługi dla klienta LDAP na Włączona.

Uwaga: jeśli podczas próby połączenia klienta LDAP z usługą wystąpią błędy, możesz skorzystać z prostych narzędzi do rozwiązywania problemów, takich jak ldapsearch, ADSI czy ldp.exe. Odpowiednie instrukcje znajdziesz w artykule Testowanie łączności i rozwiązywanie problemów.