Инструкция по интеграции с контроллером домена по протоколу LDAP
Назначение документа
В данной инструкции представлена информация по управлению параметрами синхронизации LDAP.
Документ предназначен для использования администраторами организации.
Управление параметрами синхронизации LDAP
LDAP-подключения создаются либо в GUI Keycloak, либо конфигурационным файлом /usr/local/etc/premsetup/ldap.yaml.
Для управления подключениями используется либо GUI Keycloak, либо утилита kccli.
Если LDAP-подключение редактируется в GUI Keycloak, то файл конфигурации /usr/local/etc/premsetup/ldap.yaml должен быть приведен в соответствие внесенным изменениям, чтобы при обновлении сервера подтянулись сертификаты LDAP.
Добавить новое LDAP-подключение
Если необходимо добавить LDAP-подключение, а не удалить или модифицировать, то необходимо:
-
Скопировать дополнительный CA-сертификат в каталог /usr/local/etc/premsetup/ldap.
Примечание
При добавлении нешифрованного канала цепочка сертификатов не требуется.
-
Выполнить
premsetup.py –t
.Пропустите этот шаг при добавлении нешифрованного канала.
-
Если ошибок при проверке нет, выполнить:
При добавлении зашифрованного канала выполнится добавление нового CA-сертификата.
-
Через несколько минут после добавления сертификата можно добавлять новый LDAP-сервер.
Создайте файл .yaml, в котором пропишите конфигурацию нового LDAP-сервера.
Пример настройки LDAP-сервера в файле .yaml:
name: onpremise config: connectionUrl: "ldaps://ad.ad.on-premise.ru:636" //при добавлении зашифрованного канала connectionUrl: "ldap://ad.ad.on-premise.ru:389" //при добавлении нешифрованного канала usersDn: "OU=ad,DC=ad,DC=onpremise,DC=ru" bindDn: "CN=VKTeams Syncer,CN=Users,DC=ad,DC=onpremise,DC=ru" bindCredential: "PASSWORD" searchScope: 1 fullSyncPeriod: 600 changedSyncPeriod: -1
В случае если одно из полей не заполнено, то устанавливается значение по умолчанию для сервиса Keycloak.
Основные доступные поля:
- name — имя LDAP-сервера. Данное имя уникально, может быть заведен только один сервер с определенным именем.
- connectionUrl — адрес подключения к LDAP-серверу.
- usersDn — указание на точку входа для поиска в LDAP.
- bindDn — пользователь, под которым осуществляется подключение к LDAP-серверу.
- bindCredential — пароль для подключения к LDAP-серверу.
- searchScope — использование рекурсивного поиска по дереву LDAP:
- 1 — искать в одном уровне (по умолчанию);
- 2 — искать по всем уровням.
- fullSyncPeriod — частота полной синхронизации с LDAP-сервером, в секундах.
- changedSyncPeriod — частота частичной синхронизации с LDAP-сервером, в секундах (значение -1 — отключить).
- batchSizeForSync — максимальное количество пользователей, обновляемых одной транзакцией. Изменяйте в случае, если ваш LDAP-сервер отказывается отдавать пользователей с ошибкой о превышении размера транзакции.
- customUserSearchFilter — фильтр для получения пользователей. Позволяет получать не всех пользователей из указанного дерева. По умолчанию выборка пользователей не ограничена.
Скопируйте созданный файл .yaml с конфигурацией нового сервера в /usr/local/etc/premsetup/ldap/.
-
Запустить
premsetup.py –t
. -
Если тестирование завершилось без ошибок, выполнить команду:
Удалить LDAP-подключение
Для удаления используйте:
>kccli ldap delete --name <имя вашего LDAP сервера> //удаление по имени
>kccli ldap delete --id <id вашего LDAP сервера> //удаление по ID
Используйте удаление по ID в случае, если ранее было заведено несколько LDAP-серверов с неуникальными именами. Получить ID подключений можно, выполнив команду:
Получить список LDAP-серверов
Для вывода полного списка LDAP-серверов выполните:
Обновить LDAP-сервер
- Обновите файл .yaml, находящийся в /usr/local/etc/premsetup/ldap/.
- Выполните команду:
Можно использовать дополнительные фильтры --name
и --id
.
Настроить синхронизацию LDAP-сервера
Синхронизация всех серверов:
Синхронизация одного сервера:
Получить информацию о текущем состоянии сервиса Keycloak
Дата обновления документа: 25.03.2024 г.