В этой статье объясняется, как подключить LDAP-клиент к сервису Secure LDAP.
Важно!
- Ознакомьтесь с документацией поставщика услуг
Инструкции в этой статье приведены только для справки и могут меняться. Помимо этих инструкций обязательно ознакомьтесь с документацией вашего поставщика, в которой содержится наиболее актуальное руководство по подключению клиента к сервису Secure LDAP. - Подготовка
Прежде чем выполнять инструкции, убедитесь, что вы уже добавили клиент в сервис Secure LDAP, настроили права доступа, скачали сертификат клиента и ключ и при необходимости создали учетные данные для доступа. - Тестирование подключения
Прежде чем выполнять указанные в этой статье действия, вы можете быстро проверить подключение с помощью таких инструментов, как ldapsearch, ADSI и ldp.exe. Их также можно использовать для устранения неполадок, если при подключении LDAP-клиента к сервису возникает ошибка. Инструкции приведены в статье Как выполнить тестирование подключения к сервису Secure LDAP. - Как завершить настройку
После подключения LDAP-клиента в соответствии с инструкциями на этой странице вам нужно будет завершить его настройку, установив для статуса сервиса значение Включено в консоли администратора Google. Инструкции приведены в разделе 5. Включите параметр Клиенты LDAP.
Содержание статьи
Эта статья состоит из следующих разделов:
- Общие инструкции по настройке: общие инструкции по подключению LDAP-клиентов, не указанных в этой статье.
- Инструкции по настройке определенных LDAP-клиентов – инструкции по подключению определенных LDAP-клиентов (например, Atlassian Jira или OpenVPN) к сервису Secure LDAP. Инструкции зависят от типа клиента.
- Инструкции по настройке приложений Java: общие инструкции для приложений на базе Java с функциями LDAP.
- Использование Stunnel в качестве прокси-сервера (необязательный шаг): инструкции с дополнительной информацией о подключении LDAP-клиентов, не поддерживающих цифровые сертификаты.
В приведенных ниже инструкциях подразумевается, что файл ключа клиента и файл сертификата, которые вы скачиваете, имеют названия ldap-client.key и ldap-client.crt.
Общие инструкции по настройке
В этом разделе приведены общие инструкции по подключению LDAP-клиента к сервису Secure LDAP. Если в следующем разделе ваш LDAP-клиент не упоминается, найдите информацию о его настройке в документации к нему.
Примечание. Некоторые LDAP-клиенты, например Atlassian Jira и SSSD, при аутентификации пользователей осуществляют поиск дополнительной информации. Чтобы аутентификация пользователей работала корректно для таких LDAP-клиентов, необходимо включить параметр Чтение информации о пользователях для всех организационных подразделений, в которых включен параметр Проверка учетных данных пользователей. Инструкции приведены в разделе Как настроить разрешения на доступ.
Чтобы подключить LDAP-клиент к сервису Secure LDAP:
- Настройте LDAP-клиент, выбрав облачный каталог в качестве сервера LDAP.
Загрузите сертификат в LDAP-клиент.
В качестве основного механизма аутентификации в сервисе Secure LDAP используются сертификаты клиента TLS. Чтобы начать загрузку сертификата в LDAP-клиент, откройте настройки аутентификации или каталога клиента и введите данные из таблицы ниже.
Примечание. Подробные сведения о том, как и куда загружать сертификаты TLS, можно найти в документации поставщика.
В таблице ниже приведены основные сведения о подключении.
|
Hostname (Имя хоста) |
ldap.google.com |
|---|---|
|
Порты |
389 – LDAP с использованием STARTTLS |
|
Base DN (Базовое уникальное имя) |
Доменное имя в формате DN. Пример: dc=example,dc=com для example.com |
|
Имя пользователя и пароль |
В случае с некоторыми LDAP-клиентами требуется не только выполнить аутентификацию с помощью сертификата, но и ввести имя пользователя и пароль. Если указывать учетные данные не обязательно, вы можете пропустить этот шаг. Создайте имя пользователя и пароль в консоли администратора Google. Подробнее… |
|
Файлы сертификата и ключа клиента |
Используйте файлы сертификата и ключа, скачанные из консоли администратора Google. Если LDAP-клиент не поддерживает аутентификацию с помощью сертификата клиента, ознакомьтесь с разделом Использование Stunnel в качестве прокси-сервера. Важно! Некоторые LDAP-клиенты, например Apache Directory Studio, не поддерживают загрузку цифровых сертификатов. Чтобы узнать, что делать в такой ситуации, ознакомьтесь с этим разделом. |
Инструкции по настройке для определенных LDAP-клиентов
ADSI Edit (Windows)
Выполните указанные ниже действия.
- Чтобы установить сертификаты клиента, выполните шаги 1–11 в разделе ldp.exe (Windows).
- Выберите Action (Действия) > Connect to (Подключиться к).
- Укажите следующие настройки подключения:
Name (Название). Введите название подключения, например Google LDAP.
Точка подключения: "Выберите или введите уникальное имя или контекст именования".
Укажите доменное имя в формате DN. Пример для example.com: dc=example,dc=com.
Computer (Компьютер): "Select or type a domain or server" (Выберите или введите домен или сервер)
ldap.google.com
Use SSL-based Encryption (Использовать шифрование на основе SSL): Checked (Установлено)
- Нажмите Advanced (Дополнительно) и введите следующие данные:
Specify credentials (Указать учетные данные): установите флажок.
Username (Имя пользователя): имя пользователя для доступа из консоли администратора.
Password (Пароль): пароль для доступа из консоли администратора.
Port Number (Номер порта): 636.
Protocol (Протокол): LDAP.
Simple bind authentication (Простая аутентификация привязки): установите флажок.
- Нажмите кнопку ОК, а затем снова ОК.
- Если подключение установлено, на правой панели появятся данные Active Directory, указанные в базовом уникальном имени.
Apache Directory Studio
Для использования Apache Directory Studio необходимо установить подключение через Stunnel и указать учетные данные для доступа (имя пользователя и пароль), созданные в консоли администратора Google. Указав учетные данные и подключив Stunnel через порт localhost 1389, выполните следующие действия:
- Нажмите File (Файл) > New (Создать).
- Выберите LDAP Browser (Браузер LDAP) > LDAP Connection (Подключение LDAP).
- Нажмите Далее.
- Укажите параметры подключения:
Connection name (Название подключения): выберите название, например Google LDAP.
Hostname (Имя хоста): localhost.
Port (Порт): 1389 (или порт прослушивания/приема stunnel).
Encryption method (Метод шифрования): No encryption (Без шифрования). Примечание. Если stunnel работает удаленно, рекомендуется использовать шифрование между stunnel и клиентом.
- Нажмите Далее.
- Укажите параметры аутентификации.
Authentication Method (Способ аутентификации): Simple Authentication (Простая аутентификация).
Bind DN or user (Уникальное имя привязки или пользователь): имя пользователя для доступа из консоли администратора.
Bind password (Пароль привязки): пароль для доступа из консоли администратора.
- Нажмите Далее.
- Введите базовое уникальное имя.
Это доменное имя в формате DN. Пример для example.com: dc=example,dc=com. - Нажмите Готово.
Atlassian Jira
При аутентификации пользователей клиент Atlassian Jira ищет дополнительную информацию о них. Чтобы аутентификация пользователей работала корректно для этого LDAP-клиента, вам нужно включить параметры Чтение информации о пользователях и Чтение информации о группах для всех организационных подразделений, в которых включен параметр Проверка учетных данных пользователей. Подробнее…
Важно! После выполнения приведенных ниже инструкций значение параметра keystorePassword может стать известным пользователям и оказаться доступным в файлах журнала. Примите меры, чтобы предотвратить несанкционированный доступ к локальной консоли, файлу журнала и консоли администратора Google. В качестве альтернативы приведенным ниже инструкциям используйте метод stunnel4 (см. раздел Необязательно. Использование stunnel в качестве прокси-сервера).
Примечание. В инструкциях ниже предполагается, что Jira установлен в папку /opt/atlassian/jira.
Как подключить клиент Atlassian Jira к сервису Secure LDAP
- Скопируйте на серверы Jira ключи и сертификат, созданный в консоли администратора Google при добавлении LDAP-клиента в сервис Secure LDAP.
Пример:
$ scp ldap-client.key user@jira-server:
- Преобразуйте сертификат и ключи в формат Java Keystore. В процессе потребуется вводить пароли. Чтобы упростить задачу, придумайте надежный пароль и каждый раз используйте его.
$ 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
- Настройте Jira так, чтобы использовалось созданное хранилище ключей. Чтобы добавить параметры, следуйте инструкциям.
"-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password"
В Linux:- Откройте файл /opt/atlassian/jira/bin/setenv.sh.
- Найдите настройку JVM_SUPPORT_RECOMMENDED_ARGS.
- Добавьте "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password", заменив "password" на пароль, выбранный выше.
- Перезапустите клиент Jira.
$ /opt/atlassian/jira/bin/stop-jira.sh
$ /opt/atlassian/jira/bin/start-jira.sh
- Войдите в веб-интерфейс Jira, используя учетные данные администратора.
- Перейдите в раздел Настройки > Управление доступом. Чтобы открыть настройки, нажмите на значок шестеренки в правом верхнем углу экрана.
- Выберите User Directories (Каталоги пользователей).
- Нажмите Add Directory (Добавить каталог).
- Выберите тип LDAP.
- Нажмите Далее.
- Задайте следующие параметры:
Name (Название)
Google Secure LDAP
Directory type (Тип каталога)
OpenLDAP
Hostname (Имя хоста)
ldap.google.com
Port (Порт)
636
Use SSL (Использовать SSL)
Установите флажок
Username (Имя пользователя)
Создайте имя пользователя и пароль в консоли администратора Google. Подробнее…
Password (Пароль)
Создайте имя пользователя и пароль в консоли администратора Google. Подробнее…
Base DN (Базовое уникальное имя)
Укажите доменное имя в формате DN. Например, dc=example,dc=com для example.com.
Additional User DN (Дополнительное уникальное имя пользователя)
Необязателен. "ou=Users"
Additional Group DN (Дополнительное уникальное имя группы)
Необязателен. "ou=Groups"
LDAP Permissions (Разрешения LDAP)
Только для чтения
Advanced Settings (Расширенные настройки)
Не меняйте эти настройки
User Schema Settings (Настройки для схемы пользователя) >
User Name Attribute (Атрибут для имени пользователя)googleUid
User Schema Settings (Настройки для схемы пользователя) >
User Name RDN Attribute (Атрибут RDN для имени пользователя)uid
Group Schema Settings (Настройки для схемы группы) >
Group Object Class (Класс групповых объектов)groupOfNames
Group Schema Settings (Настройки для схемы группы) >
Group Object Filter (Фильтр групповых объектов)(objectClass=groupOfNames)
Membership Schema Settings (Настройки для схемы участия) >
Group Members Attribute (Атрибут для участников группы)member
Membership Schema Settings (Настройки для схемы участия) >
Use the User Membership Attribute (Использовать атрибут участника для пользователя)Установите флажок - Предоставьте доступ группе.
Чтобы пользователь мог войти в Atlassian Jira, он должен быть участником группы, которой предоставлен доступ к Jira.
Чтобы предоставить группе доступ, выполните следующие действия:- Нажмите Settings (Настройки) > Applications (Приложения) > Application access (Доступ к приложениям).
- В текстовом поле Select group (Выбрать группу) введите название группы Google, которой нужно предоставить доступ к Jira.
CloudBees Core/Jenkins
Инструкции по подключению CloudBees Core к сервису Secure LDAP можно найти в этой статье.
FreeRADIUS
Выполните указанные ниже действия.
- Установите и настройте FreeRADIUS в каталоге /etc/freeradius/3.0/.
После установки FreeRADIUS можно добавить конфигурацию LDAP, установив плагин freeradius-ldap.
$ sudo apt-get install freeradius freeradius-ldap
- Скопируйте файлы ключа и сертификата LDAP в папку FreeRADIUS. Пути к файлам должны выглядеть так: /etc/freeradius/3.0/certs/ldap-client.key (ключ) и /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.*
- Включите модуль LDAP.
$ cd /etc/freeradius/3.0/mods-enabled/
$ ln -s ../mods-available/ldap ldap
- Внесите изменения в ключ /etc/freeradius/3.0/mods-available/ldap.
- ldap->server = 'ldaps://ldap.google.com:636'
- identity = имя пользователя для доступа к приложению
- password = пароль для доступа к приложению
- base_dn = 'dc=domain,dc=com'
- tls->start_tls = no
- tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
- tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
- tls->require_cert = 'allow'
- Закомментируйте все поля в строке навигации, соответствующей разделу "ldap -> post-auth -> update".
- Отредактируйте файл /etc/freeradius/3.0/sites-available/default.
Это действие приведет к изменению подключения клиента FreeRadius. Если вы не используете клиент по умолчанию, обновите настроенный вами клиент (внутренний туннель или любой другой клиент).
- Измените раздел authorize, добавив следующий блок внизу после инструкции PAP:
if (User-Password) {
update control {
Auth-Type := ldap
}
}
- В разделе authorize включите LDAP, удалив знак "-" перед ним.
#
# Модуль ldap считывает пароли из базы данных LDAP.
ldap
- Измените раздел authenticate, отредактировав блок Auth-Type LDAP следующим образом:
# Auth-Type LDAP {
ldap
# }
- Измените раздел authenticate, отредактировав блок Auth-Type PAP следующим образом:
Auth-Type PAP {
# pap
ldap
}
- Измените раздел authorize, добавив следующий блок внизу после инструкции PAP:
GitLab
Инструкции по подключению GitLab к сервису Secure LDAP приведены в этой статье.
Itopia/Ubuntu
Инструкции по подключению Itopia/Ubuntu к сервису Secure LDAP можно найти в Configuring Google Cloud Identity LDAP on Ubuntu 16.04 for user logins.
Ivanti/LanDesk
Выполните указанные ниже действия.
- На веб-сервере Ivanti откройте файл OpenLDAPAuthenticationConfiguration.xml или OpenLDAPSSLAuthenticationConfiguration.xml в текстовом редакторе в обеих следующих папках:
C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework и C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (где servicedesk – название экземпляра). - Измените значение <Server> на ldap.google.com.
- Измените значение <Port> на 3268 для обычного текста с включенным StartTLS и на 3269 для порта SSL/TLS (по умолчанию используется порт 389 для обычного текста или 636 для SSL/TLS).
- В качестве значения <TestDN> укажите доменное имя в формате DN. Пример для example.com: dc=example,dc=com.
- В оба файла ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config и ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config добавьте следующую строку:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />
или
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
- В Центре конфигураций Ivanti (Ivanti Configuration Center) откройте требуемый экземпляр.
- Рядом с приложением Service Desk Framework нажмите Edit (Изменить).
Откроется диалоговое окно Edit Application (Изменить приложение) для приложения Service Desk Framework. - В группе Configuration parameters (Параметры конфигурации) выберите Explicit only (Только определенные) в списке Logon policy (Правило входа), а затем нажмите ОК.
- Рядом с приложением Web Access нажмите Edit (Изменить).
Откроется диалоговое окно Edit Application (Изменить приложение) для приложения Web Access. - В группе Configuration parameters (Параметры конфигурации) выберите Explicit only (Только явные) в списке Logon policy (Правила входа) и нажмите OK.
При входе используйте сетевой пароль пользователя домена.
Регистрация исключений, возникающих при аутентификации сервера LDAP
Если у вас возникли проблемы с аутентификацией сервера LDAP, вы можете включить регистрацию исключений в журнале, чтобы определить суть проблемы. По умолчанию эта функция отключена. После изучения проблемы рекомендуем снова отключить ее.
Как включить регистрацию исключений, возникающих при аутентификации сервера LDAP
- Откройте в текстовом редакторе требуемый файл конфигурации аутентификации в формате XML:
DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml или OpenLDAPSSLAuthenticationConfiguration.xml - Замените строку:
<ShowExceptions>false</ShowExceptions>
на
<ShowExceptions>true</ShowExceptions>
- Сохраните изменения.
Ldp.exe (Windows)
Выполните указанные ниже действия.
- Преобразуйте сертификат и ключи в один файл формата PKCS12. В командной строке введите следующее:
Команды для macOS или Linux:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Введите пароль, чтобы зашифровать файл выходных данных.
Команды для Windows:
$ certutil -mergepfx ldap-client.crt ldap-client.p12
Важно! Оба файла (<CERT_FILE>.crt и <CERT_FILE>.key) должны находиться в одном каталоге. и иметь одинаковое название, различаясь только расширениями (key и crt). В этом примере используются названия ldap-client.crt и ldap-client.key. - Откройте панель управления.
- В окне поиска выполните поиск по запросу "сертификат" и нажмите Управление сертификатами пользователей.
- Выберите Действие > Все задачи > Импорт
- Нажмите Текущий пользователь, а затем Далее.
- Нажмите Обзор
- В раскрывающемся списке File type (Тип файла) в правом нижнем углу диалогового окна выберите Personal Information Exchange (Файлы обмена личной информацией) (*.pfx;*.p12).
- Выберите файл ldap-client.p12, полученный на шаге 2, нажмите Открыть, а затем – Далее.
- Введите пароль из шага 2 и нажмите Далее.
- Выберите хранилище сертификатов Личные, нажмите Далее, а затем – Готово.
- Запустите файл Ldp.exe.
- Выберите Connection (Подключение) > Connect (Подключиться).
- Укажите следующие сведения о подключении:
Server (Сервер): ldap.google.com
Port (Порт): 636
Connectionless (Без подключения): флажок снят
SSL: флажок установлен
- Нажмите ОК.
- Откройте View (Представление) > Tree (Дерево).
- Введите базовое уникальное имя. Это доменное имя в формате DN. Пример для example.com: dc=example,dc=com.
- Нажмите ОК.
- В случае успешного подключения программа LDP.exe покажет на правой панели данные Active Directory, например все атрибуты в базовом уникальном имени.
Netgate/pfSense
Инструкции по подключению Netgate/pfSense к сервису Secure LDAP можно найти в Configuring Google Cloud Identity as an Authentication Source.
OpenLDAP/ldapsearch (Linux)
Для доступа к каталогу LDAP из командной строки можно использовать команду OpenLDAP ldapsearch.
Предположим, что файлы сертификата клиента и ключа называются ldap-client.crt и ldap-client.key, домен – example.com, а имя пользователя – jsmith.
$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'
С помощью этой команды можно настроить соответствующие переменные среды таким образом, чтобы они указывали на ключи клиента. Вы можете заменить другие параметры ldapsearch соответствующими фильтрами, необходимыми атрибутами и т. д. Дополнительную информацию можно найти на справочных страницах ldapsearch ("man ldapsearch").
ldapsearch (macOS)
Выполните указанные ниже действия.
- Преобразуйте сертификат и ключи в один файл формата PKCS12. В командной строке введите следующее:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Введите пароль, чтобы зашифровать файл выходных данных.
- Нажмите на значок
в правом верхнем углу строки меню и введите Связка ключей.
- Откройте приложение "Связка ключей" и в списке слева выберите Система.
- В верхней левой части строки меню нажмите Файл и выберите Импортировать объекты.
- Перейдите в папку со сгенерированным файлом ldap-client.p12, выберите его и нажмите Open (Открыть).
При необходимости введите пароль.
В списке сертификатов системной связки ключей должен появиться сертификат с названием LDAP Client. - Нажмите на стрелку рядом с сертификатом LDAP Client. Ниже появится закрытый ключ.
- Дважды нажмите на него.
- В диалоговом окне выберите вкладку Access Control (Контроль доступа) и нажмите + в левом нижнем углу.
-
В открывшемся окне нажмите Command + Shift + G, чтобы открыть новое окно, и замените существующий текст на /usr/bin/ldapsearch.
-
Нажмите Перейти.
Откроется окно с выделенным параметром ldapsearch. -
Нажмите Добавить.
-
Нажмите Save Changes (Сохранить изменения) и введите пароль, если появится запрос.
Теперь вы готовы получить доступ к вашему LDAP-каталогу из командной строки, используя команду OpenLDAP ldapsearch.
-
Предположим, что файл ldap-client.p12, который вы ранее импортировали в связку ключей, называется LDAP Client, ваш домен – example.com, а имя пользователя – jsmith. Введите следующее:
$ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'
С помощью этой команды можно настроить соответствующие переменные среды таким образом, чтобы они указывали на импортированные сертификаты клиента. Вы можете заменить другие параметры ldapsearch соответствующими фильтрами, необходимыми атрибутами и т. д. Дополнительную информацию можно найти на справочных страницах ldapsearch (man ldapsearch).
OpenVPN (версия для сообщества)
Выполните указанные ниже действия.
- Установите и настройте OpenVPN. После этого перейдите на страницу настроек в OpenVPN.
Общие настройки VPN выходят за рамки этой справочной статьи. Задав конфигурацию VPN, настройте аутентификацию и авторизацию пользователей через LDAP. В частности, потребуется установить плагин openvpn-auth-ldap.
$ sudo apt-get install openvpn openvpn-auth-ldap
- Скопируйте файлы ключа и сертификата LDAP в папку OpenVPN. Пути к копиям должны выглядеть так: /etc/openvpn/ldap-client.key (ключ) и /etc/openvpn/ldap-client.crt (сертификат).
- Создайте файл /etc/openvpn/auth-ldap.conf со следующим содержимым (предполагается, что 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>
- Откройте файл конфигурации OpenVPN (как правило, ему присваивается имя наподобие /etc/openvpn/server.conf). В конце файла добавьте следующее:
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
- Перезапустите сервер OpenVPN.
$ sudo systemctl restart openvpn@server
- Настройте VPN-клиенты на использование имен пользователей и паролей. Например, в конфигурации клиента OpenVPN добавьте auth-user-pass в конец файла конфигурации клиента OpenVPN и запустите клиент OpenVPN:
$ openvpn --config /path/to/client.conf
- Следуйте инструкциям по использованию stunnel в качестве прокси-сервера.
Сервер OpenVPN Access Server (коммерческая версия)
Инструкции по подключению OpenVPN Access Server к сервису Secure LDAP приведены в этой статье.
PaperCut MF и NG
Инструкции по подключению PaperCut к сервису Secure LDAP можно найти в этой статье.
Puppet Enteprise
Инструкции по подключению Puppet Enterprise к сервису Secure LDAP можно найти в этой статье.
Браузер Softerra LDAP Browser
Важно! Прежде чем начинать настройку, убедитесь, что у вас установлен браузер Softerra LDAP Browser версии 4.5 (4.5.19808.0) или более поздней. Подробнее…
Выполните указанные ниже действия.
- Преобразуйте сертификат и ключи в один файл формата PKCS12. В командной строке введите следующее:
Команды для macOS или Linux:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Введите пароль, чтобы зашифровать файл выходных данных.
Команды для Windows:
$ certutil -mergepfx ldap-client.crt ldap-client.p12
Важно! Оба файла (<CERT_FILE>.crt и <CERT_FILE>.key) должны находиться в одном каталоге. и иметь одинаковое название, различаясь только расширениями (key и crt). В этом примере используются названия ldap-client.crt и ldap-client.key. - В браузере Softerra LDAP Browser установите пару ключей.
- Откройте Tools (Инструменты) > Certificate Manager (Диспетчер сертификатов).
- Нажмите Import (Импорт).
- Нажмите Next (Далее).
- Нажмите Browse (Обзор).
- В раскрывающемся списке Тип файла в правом нижнем углу диалогового окна выберите Обмен личной информацией (*.pfx;*.p12).
- Выберите файл ldap-client.p12 из шага 2 выше.
- Нажмите Open (Открыть), а затем Next (Далее).
- Введите пароль из шага 2 выше и нажмите Next (Далее).
- Выберите хранилище сертификатов Личные.
- Нажмите Далее.
- Нажмите Готово.
- Добавьте профиль сервера.
- Выберите File (Файл) > New (Создать) > New Profile (Создать профиль).
- Введите название профиля, например Google LDAP.
- Нажмите Далее.
Введите следующие данные:
Host (Хост): ldap.google.com
Port (Порт): 636
Base DN (Базовое уникальное имя): доменное имя в формате уникального имени. Пример для example.com: dc=example,dc=com.
Use secure connection (SSL) (Использовать безопасное подключение SSL): установите флажок.
- Нажмите Далее.
- Выберите External (SSL Certificate) (Внешний (SSL-сертификат)).
- Нажмите Далее.
- Нажмите Готово.
Sophos Mobile
Инструкции по подключению Sophos Mobile к сервису Secure LDAP можно найти в этой статье.
Splunk
Для работы с сервисом Secure LDAP нужно использовать Splunk версии 8.1.4 или более поздней. Прежние версии Splunk (например, 8.1.3) могут выполнять ненужные запросы к серверу LDAP, в результате чего вы быстро исчерпаете квоту. Подробнее об устранении неполадок с платформой Splunk версии 8.1.3…
Выполните указанные ниже действия.
- Скопируйте файлы ключа и сертификата LDAP в следующие файлы: /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key (ключ) и /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.*
- Добавьте в файл ldap.conf следующие конфигурации:
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 - Добавьте следующие конфигурации в файл пользователя /home/splunkadmin/.ldaprc:
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
- Добавьте стратегию LDAP с помощью веб-интерфейса Splunk. Введите следующие сведения и нажмите Save (Сохранить):
|
Name (Название) |
Google Secure LDAP |
|---|---|
|
Хост |
ldap.google.com |
|
Port (Порт) |
636 |
|
SSL включен |
Установите флажок |
|
Порядок подключения |
1 |
|
Уникальное имя для привязки |
Укажите учетные данные, созданные в консоли администратора Google. |
|
Пароль для уникального имени привязки |
Укажите учетные данные, созданные в консоли администратора Google. |
|
Base DN (Базовое уникальное имя) |
Укажите доменное имя в формате DN. Пример для домена example.com: dc=example,dc=com. |
|
User base filter (Фильтр пользовательской базы) |
Укажите фильтр пользовательской базы для класса объектов, чтобы отфильтровать пользователей с его помощью. |
|
User name attribute (Атрибут для имени пользователя) |
uid |
|
Атрибут Real name |
displayname |
|
Атрибут Email (Адрес электронной почты) |
|
|
Атрибут сопоставления групп |
dn |
|
Group base DN (Базовое уникальное имя группы) |
Укажите доменное имя в формате DN. Пример для домена example.com: ou=Groups,dc=example,dc=com. |
|
Фильтр поиска статических групп |
Укажите фильтр поиска статических групп для класса объектов, чтобы отфильтровать статические группы с его помощью. |
|
Group name attribute (Атрибут названия группы) |
cn |
|
Атрибут статического участника |
member |
SSSD (Red Hat Enterprise и CentOS)
При аутентификации пользователей клиент SSSD осуществляет поиск дополнительной информации. Чтобы аутентификация пользователей работала корректно для этого LDAP-клиента, вам нужно включить параметры Чтение информации о пользователях и Чтение информации о группах для всех организационных подразделений, в которых включен параметр Проверка учетных данных пользователей. Подробнее…
Чтобы подключить клиент SSSD в Red Hat 8 или CentOS 8 к сервису Secure LDAP:
- Добавьте клиент SSSD к сервису Secure LDAP:
- Откройте консоль администратора Google и нажмите Приложения > LDAP > Добавить клиент.
Используйте для входа корпоративный аккаунт, а не личный аккаунт Gmail. - Введите сведения о клиенте и нажмите Продолжить.
- Задайте настройки доступа:
Проверка учетных данных пользователя – "Весь домен".
Чтение информации о пользователе – "Весь домен".
Чтение информации о группе – включено. - Нажмите Добавление LDAP-клиента.
- Скачайте сертификат.
- Выберите Перейти на страницу сведений о клиенте.
- Измените значение параметра "Статус сервиса" на Включено.
- Откройте консоль администратора Google и нажмите Приложения > LDAP > Добавить клиент.
- Установите зависимости:
dnf install openldap-clients sssd-ldap
install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap
Распакуйте ZIP-файл сертификата и скопируйте файлы CRT и KEY в папку /etc/sssd/ldap.
- При желании выполните проверку с помощью 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
Введите пароль Google пользователя.
Примечание. Пользователю должна быть назначена лицензия Google Workspace Enterprise или Cloud Identity Premium. - Создайте файл
/etc/sssd/sssd.confсо следующим содержимым:
[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 - Обновите разрешения и ярлыки SELinux:
chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
restorecon -FRv /etc/sssd
- Перезапустите SSSD:
systemctl restart sssd
- Выполните проверку:
Подключитесь к серверу через SSH:ssh -l user@example.com {HOSTNAME}
Устранение неполадок
- Проверьте версию SSSD (должна быть не ниже 1.15.2):
# sssd --version
2.2.3
-
На RHEL/CentOS (и любом дистрибутиве с принудительным использованием SELinux) файлы конфигурации SSSD, сертификата и ключа должны находиться в каталоге, к которому есть доступ у пользователей с ролью sssd_conf_t:
# egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contextsПроверьте журнал /var/log/audit/audit.log на наличие сообщений о блокировках AVC.
- Убедитесь, что в файле /etc/nsswitch.conf указано значение sss для объектов passwd, shadow, group и netgroup:
passwd: files sss
shadow: files sss
group: files sss
netgroup: files sss
В этом случае локальные файлы будут переопределять пользователей LDAP.
- Проверьте файл /var/log/sssd.conf на наличие ошибок конфигурации:
Пример
[sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Skipping. (Ошибка объединения конфигурации: файл /etc/sssd/sssd.conf не прошел проверку доступа и будет пропущен.)Действие: измените права доступа к файлу .conf с помощью команды chmod 600.
Пример
[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. (Атрибут ldap_groups_use_matching_rule_in_chain запрещен в разделе domain/{DOMAIN}. Убедитесь, что данные не содержат опечаток.)[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. (Атрибут ldap_initgroups_use_matching_rule_in_chain запрещен в разделе domain/{DOMAIN}. Убедитесь, что данные не содержат опечаток.)
Необходимое действие: удалите из sssd.conf неподдерживаемые расширения LDAP для сопоставления групп.
-
Проверьте файл /var/log/sssd_{DOMAIN}.log на наличие ошибок, связанных с LDAP, сетью или аутентификацией.
Пример[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)] (Не удалось проверить самозаверяющий сертификат)
Необходимое действие: добавьте "ldap_tls_reqcert = never" в файл sssd.conf.
Чтобы повысить уровень детализации журнала ошибок, добавьте "debug_level = 9" в раздел доменов файла sssd.conf и запустите sssd заново.
SSSD (другие дистрибутивы Linux)
При аутентификации пользователей клиент SSSD осуществляет поиск дополнительной информации. Чтобы аутентификация пользователей работала корректно для этого LDAP-клиента, вам нужно включить параметры Чтение информации о пользователях и Чтение информации о группах для всех организационных подразделений, в которых включен параметр Проверка учетных данных пользователей. Подробнее…
Как подключить клиент SSSD к сервису Secure LDAP
- Установите SSSD версии 1.15.2 или более поздней.
$ sudo apt-get install sssd
- Предположим, что файлы сертификата и ключа называются /var/ldap-client.crt и /var/ldap-client.key, а домен – example.com. Отредактируйте файл /etc/sssd/sssd.conf следующим образом:
[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
-
Измените владельца и разрешения для файла конфигурации:
$ sudo chown root:root /etc/sssd/sssd.conf
$ sudo chmod 600 /etc/sssd/sssd.conf -
Перезапустите SSSD:
$ sudo service sssd restart
Примечание. Если вы используете модуль SSSD на компьютерах Linux без внешних IP-адресов в Google Compute Engine, вы все равно можете подключиться к Безопасному LDAP, если у вас включен внутренний доступ к сервисам Google. Подробнее о настройке доступа к сервисам Google с частным IP-адресом.
macOS
Выполните перечисленные ниже действия, чтобы подключить клиент macOS для аутентификации аккаунтов пользователей с помощью сервиса Secure LDAP.
Google Workspace Migrate: системные требования
- macOS Catalina 10.15.4 или более поздней версии.
- Для выполнения шага 1 этапа подготовки необходим идентификатор суперадминистратора Google.
- Для настройки необходимы права локального администратора.
Содержание:
Ниже описано, как вручную настроить и проверить аутентификацию macOS с помощью сервиса Secure LDAP.
Шаг 1. Добавьте macOS в качестве LDAP-клиента в консоли администратора Google
Инструкции приведены в статье Как добавить LDAP-клиенты. Вы также можете посмотреть демонстрацию работы с Secure LDAP. В ходе этого процесса вы также скачаете автоматически созданный сертификат клиента TLS.
Шаг 2. Импортируйте сертификат в системную связку ключей
- Скопируйте сертификат (ZIP-архив, скачанный на шаге 1) и ключ на компьютер macOS.
Совет. Распакуйте файл, чтобы найти файлы сертификата и ключа. - Импортируйте пару ключей в системную связку ключей:
-
Преобразуйте ключ и сертификат в файл PKCS 12 (P12). Выполните в терминале следующую команду:
openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key
Совет . Запишите название файла P12.
Система предложит вам создать пароль, чтобы зашифровать файл P12. -
Откройте приложение Связка ключей.
-
Нажмите на связку ключей Система.
-
Нажмите Файл > Импортировать объекты.
-
Выберите файл ldap-client.p12, созданный ранее.
-
При необходимости введите пароль администратора, чтобы разрешить изменение системной связки ключей.
-
Введите созданный ранее пароль, чтобы расшифровать файл P12.
Примечание. В списке ключей должен появиться новый сертификат и связанный с ним закрытый ключ. Сертификат может называться LDAP Client. Запишите название сертификата, чтобы использовать его на следующем шаге.
- Выполните шаг 6 в разделе ldapsearch (macOS) этой статьи, чтобы настроить контроль доступа для закрытого ключа и добавить приложения, указанные ниже. Если закрытый ключ не отображается в категории Все объекты, перейдите в категорию Мои сертификаты и найдите нужный закрытый ключ, развернув соответствующий сертификат.
Как сказано в инструкциях, приложение ldapsearch необходимо только для устранения неполадок. Оно не предназначено для других целей. Обычно его удаляют, прежде чем предоставить пользователям доступ к macOS.
В список управления доступом необходимо добавить следующие три приложения:
/System/Library/CoreServices/Applications/Directory Utility
/usr/libexec/opendirectoryd
/usr/bin/dscl
-
-
Добавьте строку в файл /etc/openldap/ldap.conf, убедившись, что "LDAP Client" – это то же название сертификата, которое отображается в приложении "Связка ключей" в macOS после импорта файла P12 (название берется из общего имени субъекта X.509 сгенерированного сертификата):
sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'
Шаг 3. Настройте аутентификацию на устройстве с помощью каталога Google
Откройте приложение Служба каталогов, чтобы создать узел каталога LDAP:
- Нажмите на значок замка, чтобы внести изменения и ввести пароль.
- Выберите LDAPv3 и нажмите на значок карандаша, чтобы изменить настройки.
- Нажмите Создать.
- В качестве имени сервера введите ldap.google.com, выберите Encrypt using SSL (Шифровать с помощью SSL) и нажмите Manual (Вручную).
- Выберите новое название сервера и нажмите Изменить.
- Введите понятное название конфигурации, например Google Secure LDAP.
- Выберите Encrypt using SSL (Шифровать с помощью SSL) и убедитесь, что в качестве порта указано значение 636.
- Перейдите на вкладку Поиск и соответствия.
- В раскрывающемся списке Access this LDAPv3 server using (Доступ к этому серверу LDAPv3 с помощью) выберите RFC2307.
- После запроса укажите информацию о домене в поле Суффикс базы поиска. Например, введите
dc=zomato,dc=comдля доменного имени zomato.com. - Нажмите ОК.
- Настройте атрибуты для типа записи Пользователи:
- В разделе Record Types and Attributes (Типы и атрибуты записей) выберите Users (Пользователи) и нажмите кнопку +.
- Во всплывающем окне выберите Attribute Types (Типы атрибутов), нажмите GeneratedUID (Сгенерированный UID) и нажмите OK, чтобы закрыть всплывающее окно.
После развертывания раздела Users (Пользователи) в нем должен появиться параметр GeneratedUID.
- Нажмите на GeneratedUID, а затем на значок + в поле справа.
- В текстовом поле введите apple-generateduid и нажмите клавишу Ввод.
- В узле Users (Пользователи) нажмите на атрибут NFSHomeDirectory.
- На экране справа измените значение этого атрибута на
#/Users/$uid$. - Нажмите ОК и введите пароль, чтобы сохранить изменения.
- На экране Служба каталогов создайте новую конфигурацию LDAP:
- Перейдите на вкладку Поиск правил.
- Нажмите на значок блокировки, чтобы внести изменения, и укажите пароль текущего пользователя.
- В раскрывающемся списке выберите Собственный путь вместо Путь поиска.
- Откройте вкладку Authentication (Аутентификация) и нажмите на значок +.
- Выберите
/LDAPv3/ldap.google.comв списке доменов каталога и нажмите Добавить. - Нажмите кнопку Применить и при необходимости введите пароль администратора.
- Выполните перечисленные ниже четыре команды, чтобы отключить механизмы аутентификации DIGEST-MD5, CRAM-MD5, NTLM и GSSAPI SASL. macOS будет использовать Simple Bind для аутентификации с помощью сервиса Google Secure LDAP:
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
- Перезагрузите компьютер, чтобы перезапустить конфигурацию OpenDirectory.
Шаг 4. Создайте мобильный аккаунт (позволяет входить в систему офлайн)
Любой пользователь Google Workspace и Cloud Identity может выполнить вход с помощью сетевого аккаунта (аккаунта Google), указав свое имя пользователя и пароль. Для этого необходимо подключение к сети. Если нужна возможность выполнять вход независимо от наличия подключения к сети, Мобильный аккаунт позволяет использовать имя пользователя и пароль аккаунта сети (аккаунта Google) для входа в систему независимо от того, подключены вы к сети или нет. Подробнее о том, как создать и настроить мобильные аккаунты на Mac…
Чтобы создать мобильный аккаунт для пользователей Secure LDAP:
-
Чтобы подключиться к серверу Secure LDAP и настроить домашний каталог и мобильные аккаунты, выполните следующую команду:
sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v
Совет. Замените $uid именем пользователя из адреса электронной почты, связанного с аккаунтом Google пользователя. Например, в адресе jsmith@solarmora.com имя пользователя – jsmith. -
Когда появится запрос SecureToken admin user name (Имя администратора SecureToken), введите имя пользователя администратора, а затем пароль. В FileVault будет добавлен $uid. Это необходимо, если диск macOS зашифрован.
Шаг 5. Настройте параметры экрана входа (необязательно)
- Выберите Системные настройки > Пользователи и группы > Параметры входа в левом нижнем углу.
- Нажмите на замок и укажите учетные данные администратора.
- В поле Показывать окно входа как выберите Имя и пароль.
Шаг 6. Перезагрузите устройство и войдите в аккаунт
- Убедитесь, что устройство подключено к интернету. Если у вас нет подключения к интернету, вход для пользователя Безопасного LDAP не будет работать.
Примечание. Подключение к интернету требуется только для первого входа. Последующие входы могут выполняться без доступа к интернету. - Войдите на устройство, используя аккаунт пользователя, настроенный для аутентификации с помощью безопасного LDAP.
Ниже описано, как автоматизировать настройку устройств для ваших пользователей. Выполните шаги 1 и 2 на том же устройстве macOS, на котором вы выполняли ручную настройку на этапе подготовки.
Шаг 1. Создайте профиль Mac с сертификатом с помощью Apple Configurator 2
- Установите приложение Apple Configurator 2 на компьютере, на котором вы вручную настроили аутентификацию macOS с использованием Secure LDAP.
- Откройте Apple Configurator 2 и создайте профиль. В разделе Certificate (Сертификат) нажмите кнопку Configure (Настроить) и импортируйте ранее сгенерированный файл P12.
Примечание . Убедитесь, что у этого файла есть пароль. Введите пароль в разделе Password (Пароль).
- Сохраните профиль.
- Если в вашем устройстве установлен процессор M1 или M2, сразу перейдите к шагу 5. Откройте этот профиль в любом текстовом редакторе и добавьте следующие строки в первый тег <dict>:
<key>PayloadScope</key>
<string>System</string>
Это необходимо, так как Apple Configurator пока не поддерживает профили для macOS.
- Во второй тег <dict> рядом с данными сертификата добавьте следующий текст:
<key>AllowAllAppsAccess</key>
<true/>
Благодаря этому доступ к сертификату получат все приложения.
Шаг 2. Преобразуйте файл конфигурации каталога (PLIST) в формат XML
На этом этапе вы извлекаете все ручные настройки, выполненные на шаге 3 этапа подготовки, в XML-файл. Вы можете использовать этот файл и профиль Mac, созданный на шаге 1, чтобы автоматически настроить другие устройства macOS.
- Скопируйте /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist на рабочий стол или в другое место.
- Преобразуйте этот файл в формат XML, чтобы его можно было открыть в любом текстовом редакторе. Выполните в терминале следующую команду:
sudo plutil -convert xml1 <path>/ldap.google.com.plist
Вы можете получить доступ к файлу как<path>/ldap.google.com.plist.
- Измените разрешения на доступ к вышеуказанному файлу, чтобы вы могли открыть XML-файл. Убедитесь, что он не пустой.
Шаг 3. Создайте скрипт Python для автоматизации настройки на устройствах конечных пользователей
Скопируйте скрипт Python, который приведен ниже, и сохраните его в виде файла Python (формат PY).
Примечание. Этот пример скрипта предназначен для Python версии 3.10.x. Он предоставляется без каких-либо гарантий. Служба поддержки Google не оказывает поддержку для образцов скриптов.
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' ")
Шаг 4. Автоматически настройте устройства конечных пользователей
На других устройствах macOS, которые вы хотите настроить, выполните следующие действия:
- Скопируйте на устройство файл профиля Mac, сгенерированный на шаге 1, XML-файл конфигурации, созданный на шаге 2, и скрипт Python из шага 3.
- Чтобы установить необходимую зависимость для скрипта, выполните следующую команду:
python3 -m pip install pyobjc-framework-opendirectory - Выполните следующую команду:
sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2> - Чтобы импортировать сертификаты в системную связку ключей macOS, нажмите дважды на файл профиля Mac, сгенерированный на шаге 1, и при появлении соответствующего запроса укажите учетные данные локального администратора macOS. Затем вам будет предложено ввести пароль для файла P12, который вы задали на этапе подготовки.
- Перезагрузите компьютер macOS.
- Создайте мобильные аккаунты, как описано в шаге 4 этапа подготовки, и при необходимости задайте дополнительные настройки, описанные в шаге 5 этапа подготовки.
- Если пользователь входит в macOS с помощью учетных данных Google, его имя пользователя аккаунта Workspace должно отличаться от идентификатора профиля в macOS. В противном случае вход выполнить не получится.
- Когда пользователь начнет выполнять вход в macOS с использованием учетных данных Google, необходимо пройти процедуру управления паролем пользователя (сброс или восстановление) на сайте Google (например, на странице myaccount.google.com или в консоли администратора Google). Если вы решите использовать стороннее решение для управления паролями, убедитесь, что последний пароль синхронизирован с Google.
- Если администратор создает нового пользователя или сбрасывает пароль существующего пользователя с включенным параметром Запросить изменение пароля при следующем входе, пользователь не сможет войти в систему на компьютере Mac, используя временный пароль, заданный администратором.
Временное решение. Пользователю нужно войти в Google на другом устройстве (например, на мобильном устройстве или другом компьютере), задать постоянный пароль, а затем войти в macOS с новым паролем. - Компьютер Mac должен быть подключен к интернету, чтобы на нем можно было открыть страницу ldap.google.com при первом входе в аккаунт после описанной выше процедуры настройки. При последующих входах доступ к интернету не понадобится, если вы настроили мобильный аккаунт.
- Интеграция Google Secure LDAP с macOS проверена на macOS Catalina, Big Sur и Monterey.
Если у вас возникают проблемы с подключением к сервису Secure LDAP, выполните приведенные ниже инструкции.
Шаг 1.Проверьте подключение
Проверьте подключение с помощью odutil.
Выполните в терминале команду odutil show nodenames.
Убедитесь, что у /LDAPv3/ldap.google.com статус online. Если это не так, попробуйте вариант с telnet.
Проверьте подключение с помощью nc.
Выполните в терминале следующую команду: nc -zv ldap.google.com 636
Если вам не удается подключиться к Google таким способом, попробуйте использовать IPv4.
Проверьте подключение по протоколу IPv4.
Чтобы использовать на устройстве протокол IPv4, выполните следующие действия:
- Откройте Системные настройки > Сеть > Wi-Fi > Дополнительно.
- В меню "Дополнительно" перейдите на вкладку "TCP/IP".
- В раскрывающемся списке измените значение Настроить IPv6 на Только локальная связь.
- Нажмите ОК, а затем Применить, чтобы сохранить изменения.
- Проверьте аутентификацию сервиса с помощью утилиты ldapsearch. Для этого выполните подключение и поиск.
Шаг 2. Проверьте, видны ли вам объекты каталога.
- Откройте Службу каталогов и перейдите на вкладку Редактор каталога.
- В раскрывающемся списке выберите узел /LDAPv3/ldap.google.com.
- Здесь должны быть показаны пользователи и группы из домена Google.
Инструкции по настройке приложений Java
Большинство приложений на базе Java с функциями LDAP можно настроить для аутентификации с помощью сертификатов клиента, установив сертификаты клиента в хранилище ключей приложения. Файлы конфигурации могут различаться в зависимости от приложения, но процесс в целом похож. Для настройки необходимо установить OpenSSL и среду выполнения Java.
Преобразуйте сертификат и ключи в формат Java Keystore. В процессе потребуется вводить пароли. Придумайте надежный пароль и каждый раз используйте его. Предположим, что файл ключа клиента называется ldap-client.key.
Команды для macOS или Linux:
$ openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.keyКоманды для Windows:
$ certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12Важно! Оба файла (<CERT_FILE>.crt и <CERT_FILE>.key) должны находиться в одном каталоге. и иметь одинаковое название, различаясь только расширениями (key и crt). В этом примере используются названия ldap-client.crt и ldap-client.key.
Импортируйте сертификат в хранилище ключей:
$ keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKSСвойства Java можно настраивать по-разному в зависимости от приложения. Часто их можно задать с помощью параметра -D в командной строке java, используемой для запуска. Настройте свойства Java для своего приложения.
javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks javax.net.ssl.keyStorePassword = <password selected above>Задайте настройки подключения LDAP для приложения, используя информацию из раздела Инструкции по базовой настройке.
Необязательно: используйте stunnel в качестве прокси-сервера
Для клиентов, которые не поддерживают аутентификацию в LDAP с помощью сертификата клиента, используйте stunnel в качестве прокси-сервера.
Настройте stunnel, чтобы предоставить сертификат клиента серверу LDAP, и настройте клиент для подключения к stunnel. В идеале stunnel должен работать на том же сервере, что и ваше приложение, и прослушивать только локальные порты, чтобы каталог LDAP не был доступен за пределами этого сервера.
Выполните указанные ниже действия.
Установите Stunnel. Пример для Ubuntu:
$ sudo apt-get install stunnel4Создайте файл конфигурации /etc/stunnel/google-ldap.conf со следующим содержимым (предполагается, что ldap-client.crt – это сертификат, а ldap-client.key – ключ):
[ldap]
client = yes
accept = 127.0.0.1:1636
connect = ldap.google.com:636
cert = ldap-client.crt
key = ldap-client.keyЧтобы включить Stunnel, откройте файл /etc/default/stunnel4 и задайте параметр ENABLED=1.
Перезапустите Stunnel.
$ sudo /etc/init.d/stunnel4 restartНастройте приложение так, чтобы оно указывало на ldap://127.0.0.1:1636.
Вместо 1636 можно указать любой неиспользуемый порт, если вы также измените строку accept в файле конфигурации выше. Вам нужно будет использовать LDAP в виде обычного текста без включения StartTLS/SSL/TLS между клиентом и stunnel, поскольку они обмениваются данными локально.
Примечание. Если вы решите запустить stunnel на отдельном сервере, вам нужно будет настроить брандмауэры так, чтобы доступ к серверу stunnel был только у необходимых приложений. Вы также можете настроить stunnel для прослушивания с помощью TLS, чтобы данные между вашим приложением и серверами stunnel были зашифрованы. Особенности обеих этих конфигураций зависят от вашей среды.
Дальнейшие действия
После того как вы подключите LDAP-клиент к сервису Secure LDAP, вам потребуется изменить статус сервиса на вариант Включено.
Дальнейшие инструкции приведены в статье 5. Включите параметр Клиенты LDAP.
Примечание. Если при подключении LDAP-клиента к сервису возникает ошибка, для устранения неполадок можно использовать такие инструменты, как ldapsearch, ADSI или ldp.exe. Инструкции приведены в статье Проверки подключения и устранение неполадок.