Supported editions for this feature: Frontline Standard і Frontline Plus; Business Plus; Enterprise Standard і Enterprise Plus; Education Fundamentals, Education Standard і Education Plus; Enterprise Essentials Plus. Порівняти свою версію з іншими
Перш ніж спробувати підключити клієнт LDAP до сервісу Secure LDAP, за бажання ви можете виконати швидку перевірку з’єднання за допомогою таких простих інструментів, як ldapsearch, ADSI або ldp.exe. Ці інструменти також можна використовувати для усунення проблем, якщо ви зіткнулися з помилками під час спроби підключити клієнт LDAP до сервісу.
Тести, описані в розділах нижче, допоможуть вам зрозуміти, чи є у вас проблеми з конфігурацією. Тут також наведено поширені повідомлення про помилки й рекомендації щодо вирішення цих проблем.
Зміст
- Як перевірити підключення й запустити запит LDAP
Виконання запиту LDAP дає змогу переконатися, що ви можете підключитися до Secure LDAP й виконувати запити.
- Як запустити базове тестування підключення (якщо потрібно)
Якщо вам не вдається виконати запит LDAP, запустіть базове тестування підключення, щоб перевірити доступ до мережі й автентифікацію.
Примітка. Якщо під час цього процесу вам потрібно звернутися до служби підтримки партнерів Google Workspace або Cloud Identity Premium, обов’язково збережіть результати команд. Перш ніж надавати ці вихідні дані службі підтримки, переконайтеся, що ви вилучили з них будь-яку ідентифікаційну інформацію.
Як перевірити підключення й запустити запит LDAP
Налаштувавши сервіс Secure LDAP у Консолі адміністратора Google, ви можете скористатися одним із цих трьох простих інструментів для перевірки підключення до Secure LDAP: ldapsearch, ADSI або ldp.exe. Детальну інформацію і вказівки можна знайти в розділах нижче.
ldapsearchЗа допомогою утиліти ldapsearch із командного рядка створіть базовий запит LDAP. Успішний результат запиту LDAP вказує на те, що клієнт LDAP, відповідний сеанс TLS і підключення TCP працюють належним чином.
Щоб перевірити підключення за допомогою ldapsearch:
- Створіть конфігурацію LDAP і завантажте сертифікат, дотримуючись вказівок у статті Як додавати клієнти LDAP.
Примітка. Щоб спростити тестове середовище, переконайтеся, що в організаційному підрозділі, до якого ви надаєте доступ клієнту LDAP, є принаймні один користувач.
- Виконайте запит LDAP. Нижче наведено приклад команди, за допомогою якої можна виконати запит для певного користувача (докладнішу інформацію наведено на сторінці OpenLDAP ldapsearch).
LDAPTLS_CERT={crt_file} LDAPTLS_KEY={key_file} ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} '(mail={user_email})'
Замініть заповнювачі, як описано нижче.
- {crt_file}: назва файлу .crt
- {key_file}: назва файлу .key
- {domain}: кожна частина імені домену, наприклад, "example.com" стане "dc=example,dc=com"
- {user_email}: основна електронна адреса користувача в домені
Примітки щодо використання ldapsearch
- Якщо значення BindDN не вказано, ldapsearch використовує ключ і сертифікат для авторизації пошуку.
- Якщо значення BindDN – це ім’я користувача LDAP, яке ви створили в Консолі адміністратора, ldapsearch використовуватиме дозволи клієнта LDAP, налаштовані в Консолі адміністратора.
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {ldap_access_credentials_username} -W '(mail={user_email})
- Якщо значення BindDN – це електронна адреса або унікальне ім’я LDAP користувача Workspace, ldapsearch використовуватиме облікові дані цього користувача для пошуку на основі його дозволів.
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {workspace_username@domain} -W '(mail={user_email})'
Як використовувати інструмент ldapsearch із програмою stunnel
Якщо під час розгортання потрібно використовувати програму stunnel, виконайте наведені нижче дії.
- У Консолі адміністратора згенеруйте облікові дані для доступу, щоб створити ім’я користувача й пароль, необхідні для ldapsearch.
- Використовуйте таку команду:
ldapsearch -x -D "{username}" -w {password} -H ldap://{stunnel_host}:{stunnel_port} -b dc={domain},dc={domain} '(mail={user_email})'
Замініть заповнювачі, як описано нижче.
- {username}: ім’я користувача зі згенерованих облікових даних у Консолі адміністратора
- {password}: пароль зі згенерованих облікових даних у Консолі адміністратора
- {stunnel_host}: IP-адреса або ім’я хоста пристрою у вашій мережі, на якому запущено програму stunnel
- {stunnel_port}: порт, де використовується програма stunnel (перевірте її конфігурацію)
- {user_email}: основна електронна адреса користувача в домені
Успішний сценарій команди ldapsearch
Якщо команда ldapsearch буде успішною, користувач з електронною адресою (як указано під час створення клієнта LDAP) показуватиметься у форматі LDIF.
Приклади
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.com
dn: dc=example,dc=com
objectClass: top
objectClass: domain
objectClass: dcObject
dc: example
# admin-group, Groups, example.com
dn: cn=admin-group,ou=Groups,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
objectClass: posixGroup
cn: admin-group
displayName: admin-group
description:
gidNumber: 12345
member: uid=admin,ou=Users,dc=example,dc=com
memberUid: admin
googleAdminCreated: FALSE
# example-user, Users, example.com
dn: uid=example-user,ou=Users,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
uid: example-user
googleUid: example-user
posixUid: example-user
cn: example-user
cn: FirstName LastName
sn: FirstName
displayName: FirstName LastName
givenName: FirstName
mail: [email protected]
uidNumber: 12345
gidNumber: 12345
homeDirectory: /home/example-user
loginShell: /bin/bash
gecos:
Можливі помилки
- Клієнт і/або бібліотека OpenLDAP скомпільовані без підтримки SNI
Клієнт LDAP (у цьому випадку – OpenLDAP) має підтримувати розширення SNI (Server Name Indication). Якщо розширення SNI недоступне, ви можете побачити схожу помилку:
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
Рекомендація- Якщо ви використовуєте macOS, автентифікацію SASL увімкнено за умовчанням. Щоб її обійти, укажіть параметр "-x".
- Додайте параметр
-d5
до ldapsearch і перевірте вихід для такого рядка:
TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client
.
-
ldapsearch повертає статус 0 (success), але у вихідних даних немає користувачів
Якщо використовувати параметр ldapsearch-x
із сертифікатами клієнта, автентифікація SASL буде успішною, але користувачі в домені не показуватимуться.
Рекомендація: вилучіть параметр-x
і повторіть спробу.
- Виконайте кроки 1–11 в інструменті ldp.exe (Windows), щоб установити сертифікати клієнта.
- Виберіть Action (Дія) > Connect to… (Підключитися до…).
- Введіть наведені нижче налаштування підключення.
Name (Назва): введіть назву підключення, наприклад Google LDAP.
Connection Point (Точка підключення): Select or type a Distinguished Name or Naming Context (Виберіть або введіть унікальне ім’я або контекст імені)
Введіть доменне ім’я у форматі DN (наприклад, dc=example,dc=com для example.com).
Computer (Комп’ютер): Select or type a domain or server (Виберіть чи введіть домен або сервер)
ldap.google.com
Use SSL-based Encryption (Використовувати шифрування на основі SSL): вибрано
- Натисніть Advanced… (Розширені…) і введіть наведені нижче дані.
Specify credentials (Указати облікові дані): вибрано
Username (Ім’я користувача): ім’я користувача для доступу з Консолі адміністратора
Password (Пароль): пароль для доступу з Консолі адміністратора
Port Number (Номер порту): 636
Protocol (Протокол): LDAP
Автентифікація через просту прив’язку: вибрано
- Натисніть OK, а потім знову OK.
- Якщо підключення успішне, на панелі праворуч показуватимуться дані каталогу в базовому унікальному імені.
- Установіть OpenSSL.
- Конвертуйте файли сертифіката й ключа в один файл у форматі PKCS12. У командному рядку введіть наведене нижче.
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Введіть пароль, щоб зашифрувати вихідний файл.
- Відкрийте панель керування.
- У полі пошуку введіть "certificate" і натисніть Manage user certificates (Керувати сертифікатами користувача).
- Виберіть Action (Дія) > All Tasks (Усі завдання) > Import… (Імпорт…).
- Виберіть Current User (Поточний користувач) і натисніть Next (Далі).
- Натисніть Browse… (Огляд…).
- У спадному меню file type у нижньому правому куті діалогового вікна виберіть Personal Information Exchange (*.pfx;*.p12) (Обмін особистою інформацією (*.pfx;*.p12)).
- Виберіть файл ldap-client.p12 із кроку 2, натисніть Open (Відкрити), а потім – Next (Далі).
- Введіть пароль із кроку 2 і натисніть Next (Далі).
- Виберіть особисте сховище сертифікатів, натисніть Next (Далі), а потім – Finish (Готово).
- Запустіть Ldp.exe.
- Виберіть Connection (Підключення) > Connect… (Підключити…)
- Введіть наведені далі дані підключення.
Server (Сервер): ldap.google.com
Port (Порт): 636
Connectionless (Без підключення): не вибрано
SSL: вибрано
- Натисніть OK.
- Виберіть View (Перегляд) > Tree (Дерево).
- Введіть базове унікальне ім’я. Це ваше доменне ім’я у форматі DN (наприклад, dc=example,dc=com для example.com).
- Натисніть OK.
- Якщо підключення успішне, на панелі праворуч показуватимуться дані каталогу в базовому унікальному імені.
Як запустити базове тестування підключення (якщо потрібно)
Якщо вам не вдалося перевірити підключення й виконати запит LDAP, дотримуйтеся вказівок у цьому розділі, щоб протестувати підключення. Якщо команда ldapsearch не повертає очікуваного користувача й не вказує на те, що сеанс TLS створено, скористайтеся клієнтом OpenSSL, щоб перевірити, чи мережеві рівні, які використовує OpenLDAP, працюють належним чином.
Щоб провести базове тестування підключення:
- Установіть утиліту клієнта openssl для вашої операційної системи.
Більшість дистрибутивів GNU/Linux використовують назву пакета "openssl". Докладніше про інші операційні системи.
-
Вручну підключіться до сервісу Secure LDAP за допомогою клієнта openssl:
openssl s_client -connect ldap.google.com:636
Переконайтеся, що узгодження SSL успішне: у кінці вихідних даних openssl s_client має з’явитися такий рядок:
Verify return code: 0 (ok)
Можливі помилки
Клієнт/бібліотека OpenSSL не підтримує розширення SNI (Server Name Indication)
Під час тестування підключення може бути повернено наведені нижче вихідні дані.
Verify return code: 18 (self signed certificate)
Для сервісу Secure LDAP потрібен клієнт TLS, який підтримує і запускає сеанси TLS за допомогою SNI. Якщо клієнт TLS не підтримує SNI, сервер TLS (ldap.google.com) повертає самопідписаний сертифікат, який не пройде перевірку ЦС, щоб указати, що потрібне розширення SNI.
Ви можете переконатися в цьому, перевіривши вихідні дані клієнта OpenSSL: на їх початку має з’явитися наведений нижче рядок.
depth=0 OU = "No SNI provided; please fix your client.", CN = invalid2.invalid
Можливі причини цієї помилки: версія OpenSSL не підтримує SNI; додаток, який використовує бібліотеку OpenSSL із SNI, явно вимкнено.
У підключенні відмовлено
Якщо повертається такий результат (де {timestamp} – це позначка часу UNIX у мікросекундах), це означає, що підключення TCP активно відхиляється ще до початку узгодження TLS:
{timestamp}:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
{timestamp}:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:connect:errno=111
Нижче наведено можливі причини.
- Брандмауер на рівні додатка або системи на локальному пристрої
- Брандмауер у тій самій фізичній мережі або вищій мережі
За допомогою команди tcptraceroute можна перевірити, який хост відмовляє в підключенні: наприклад, tcptraceroute ldap.google.com 636.