В этой статье объясняется, как подключить 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, откройте настройки аутентификации или каталога клиента 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, не поддерживают загрузку цифровых сертификатов. Чтобы решить эту проблему, ознакомьтесь с разделом Как использовать stunnel в качестве прокси-сервера. |
Инструкции по настройке для определенных клиентов LDAP
ADSI Edit (Windows)
Выполните указанные ниже действия.
- Выполните шаги 1–11 в разделе ldp.exe (Windows), чтобы установить сертификаты клиента.
- Выберите Action (Действия) > Connect to (Подключиться к).
- Укажите следующие настройки подключения:
Название. Введите название подключения, например Google LDAP.
Точка подключения: "Выберите или введите различающееся имя или контекст именования".
Введите доменное имя в формате DN. Пример для example.com: dc=example,dc=com.
Компьютер: "Выберите или введите домен или сервер"
ldap.google.com
Использовать шифрование на основе SSL: выбрано
- Нажмите Дополнительно… и укажите следующие данные:
Указать учетные данные: выбрано.
Имя пользователя: имя пользователя для доступа из консоли администратора.
Пароль: пароль для доступа из консоли администратора.
Номер порта: 636.
Протокол: LDAP.
Простая аутентификация привязки: выбрано.
- Нажмите кнопку ОК, а затем снова ОК.
- Если подключение установлено, на правой панели появятся данные 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 так, чтобы использовалось созданное хранилище ключей. Чтобы добавить параметры, следуйте инструкциям на странице https://goo.gle/3ZQULXj.
"-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 (Каталоги пользователей).
- Нажмите Добавить каталог.
- Выберите тип 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 (Доступ к приложениям).
- В текстовом поле Выбрать группу введите название группы 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 (Правило входа), а затем нажмите ОК.
- Рядом с приложением "Веб-доступ" нажмите Изменить.
Откроется диалоговое окно Edit Application (Изменить приложение) для приложения Web Access. - В группе Параметры конфигурации выберите Только явный в списке Правила входа в систему и нажмите ОК.
При входе используйте пароль сети пользователя связанного домена.
Регистрация исключений, возникающих при аутентификации сервера 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.
- Выберите Подключение > Подключиться….
- Укажите следующие данные для подключения:
Сервер: ldap.google.com
Порт: 636
Без подключения: снимите флажок
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, выберите его и нажмите Открыть.
При необходимости введите пароль.
В списке сертификатов системной связки ключей должен появиться сертификат с названием LDAP Client. - Нажмите на стрелку рядом с сертификатом LDAP Client. Ниже будет указан закрытый ключ.
- Дважды нажмите на него.
- В диалоговом окне выберите вкладку Access Control (Контроль доступа) и нажмите + в левом нижнем углу.
-
В открывшемся окне нажмите Command + Shift + G, чтобы открыть новое окно, а затем замените существующий текст на /usr/bin/ldapsearch.
-
Нажмите Перейти.
Откроется окно с выделенным параметром ldapsearch. -
Нажмите Добавить.
-
Нажмите Сохранить изменения и введите пароль, если появится запрос.
Теперь вы готовы получить доступ к вашему 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 (Далее).
- Выберите хранилище сертификатов Личные.
- Нажмите Далее.
- Нажмите Готово.
- Добавьте профиль сервера.
- Выберите Файл > Создать > Новый профиль….
- Введите название профиля, например Google LDAP.
- Нажмите Далее.
Введите следующие данные:
Хост: ldap.google.com
Порт: 636
Базовое уникальное имя: доменное имя в формате уникального имени. Пример для 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. Укажите следующие данные и нажмите Сохранить:
|
Name (Название) |
Google Secure LDAP |
|---|---|
|
Хост |
ldap.google.com |
|
Port (Порт) |
636 |
|
SSL включен |
Установите флажок |
|
Порядок подключения |
1 |
|
Bind DN |
Укажите учетные данные, созданные в консоли администратора Google. |
|
Пароль для уникального имени |
Укажите учетные данные, созданные в консоли администратора Google. |
|
Base DN (Базовое уникальное имя) |
Укажите доменное имя в формате DN. Пример для домена example.com: dc=example,dc=com. |
|
User base filter (Фильтр пользовательской базы) |
Укажите фильтр пользовательской базы для класса объектов, чтобы отфильтровать пользователей с его помощью. |
|
Атрибут для имени пользователя |
uid |
|
Атрибут "Настоящее имя" |
displayname |
|
Атрибут электронной почты |
|
|
Атрибут сопоставления групп |
dn |
|
Базовое уникальное имя группы |
Укажите доменное имя в формате DN. Пример для домена example.com: ou=Groups,dc=example,dc=com. |
|
Фильтр поиска статических групп |
Укажите фильтр поиска статических групп для класса объектов, чтобы отфильтровать статические группы с его помощью. |
|
Атрибут названия группы |
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 для объектов passwd, shadow, group и netgroup указано значение "sss":
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 на 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, вы по-прежнему можете подключиться к сервису Secure 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, выберите Шифровать с помощью SSL и нажмите Вручную.
- Выберите новое название сервера и нажмите Изменить.
- Введите понятное название, например Безопасный LDAP Google.
- Выберите Шифровать с помощью SSL и убедитесь, что для порта задано значение 636.
- Перейдите на вкладку Поиск и соответствия.
- В раскрывающемся списке Access this LDAPv3 server using (Доступ к этому серверу LDAPv3 с помощью) выберите RFC2307.
- После запроса укажите информацию о домене в поле Суффикс базы поиска. Например, для доменного имени zomato.com введите
dc=zomato,dc=com. - Нажмите ОК.
- Настройте атрибуты в записи типа Пользователи:
- В разделе Типы записей и атрибуты выберите Пользователи и нажмите кнопку +.
- Во всплывающем окне выберите Типы атрибутов, нажмите Сгенерированный идентификатор и нажмите ОК, чтобы закрыть всплывающее окно.
GeneratedUID должен отображаться в разделе "Пользователи" после того, как вы его развернете.
- Нажмите на GeneratedUID и выберите значок + в поле справа.
- Введите apple-generateduid в текстовое поле и нажмите клавишу ВВОД.
- В узле Users (Пользователи) нажмите на атрибут NFSHomeDirectory.
- На экране справа измените значение атрибута на
#/Users/$uid$. - Нажмите ОК и введите пароль, чтобы сохранить изменения.
- На экране Служба каталогов создайте новую конфигурацию LDAP:
- Перейдите на вкладку Правила поиска.
- Нажмите на значок замка, чтобы внести изменения, и укажите пароль текущего пользователя.
- В раскрывающемся списке выберите Собственный путь вместо Путь поиска.
- Откройте вкладку Аутентификация и нажмите на значок +.
- Выберите
/LDAPv3/ldap.google.comв списке доменов каталога и нажмите Добавить. - Нажмите кнопку Применить и введите пароль администратора, если потребуется.
- Выполните перечисленные ниже четыре команды, чтобы отключить механизмы аутентификации DIGEST-MD5, CRAM-MD5, NTLM и GSSAPI SASL. macOS будет использовать простое подключение для аутентификации с помощью сервиса 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 – это часть имени пользователя в адресе jsmith@solarmora.com. -
Когда появится запрос на имя пользователя администратора SecureToken, введите имя пользователя администратора, а затем пароль. Это добавит $uid в FileVault. Это необходимо, если диск macOS зашифрован.
Шаг 5. Настройте параметры экрана входа (необязательно)
- Выберите Системные настройки > Пользователи и группы > Параметры входа в левом нижнем углу.
- Нажмите на замок и укажите учетные данные администратора.
- В раскрывающемся списке Показывать окно входа как выберите Имя и пароль.
Шаг 6. Перезагрузите устройство и войдите в аккаунт
- Убедитесь, что устройство подключено к интернету. Если у вас нет подключения к интернету, вход для пользователя Secure LDAP не будет работать.
Примечание. Подключение к интернету требуется только при первом входе. для первого входа. - Войдите на устройство с аккаунтом пользователя, для которого настроена аутентификация с помощью Secure 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 – в сети. Если это не так, попробуйте вариант с telnet.
Проверьте подключение с помощью nc.
Выполните в терминале следующую команду: nc -zv ldap.google.com 636
Если вам не удастся подключиться к Google таким образом, попробуйте подключиться с помощью IPv4.
Проверьте подключение по протоколу IPv4.
Чтобы использовать на устройстве протокол IPv4, выполните следующие действия:
- Откройте Системные настройки > Сеть > Wi-Fi > Дополнительно.
- В меню "Дополнительно" перейдите на вкладку "TCP/IP".
- В раскрывающемся списке выберите Только локальная связь вместо Настроить IPv6.
- Нажмите ОК, а затем Применить, чтобы сохранить изменения.
- Проверьте аутентификацию сервиса с помощью утилиты ldapsearch. Для этого выполните подключение и поиск.
Шаг 2.Проверьте, можете ли вы видеть объекты каталога
- Откройте Directory Utility (Утилита каталогов), а затем вкладку Directory Editor (Редактор каталогов).
- В раскрывающемся списке выберите узел /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-клиентов в положение "Включено".
Примечание. При необходимости вы можете использовать простые инструменты, такие как ldapsearch, ADSI или ldp.exe, для устранения неполадок, если при попытке подключить LDAP-клиент к сервису возникают ошибки. Инструкции приведены в статье Как выполнить тестирование подключения и устранить неполадки.