Синхронизация с каталогом LDAP
LDAP (Lightweight Directory Access Protocol) — это протокол прикладного уровня для доступа к службе каталогов.
Служба каталогов (каталоги LDAP) — это система с иерархической структурой для хранения данных в формате "ключ-значение". Обычно службы каталогов используют для хранения информации об организации, её активах и пользователях. Существуют различные реализации каталогов LDAP. Например, ALD Pro, OpenLDAP и FreeIPA для Linux, Microsoft Active Directory для Windows и т.д.
Вы можете настроить синхронизацию платформы c каталогом LDAP. Тогда учётные записи пользователей из каталога будут автоматически создаваться в платформе.
Логика работы
Платформа запускает синхронизацию с каталогом LDAP с периодичностью, заданной в настройках. При синхронизации платформа подключается с заданными параметрами к каталогу LDAP и получает список пользователей. Информация о пользователях из каталога LDAP является более приоритетной по сравнению с информацией в платформе.
Общие правила синхронизации:
- Если у пользователя в каталоге LDAP не указан email, его учётная запись не будет использована при синхронизации.
- Если пользователя из каталога LDAP нет в платформе, платформа создаст учётную запись с данными из LDAP.
- Если пользователь из каталога LDAP уже создан в платформе, то платформа изменит источник учётной записи пользователя с локального на LDAP. После этого пользователь сможет авторизоваться в платформе с email и паролем из LDAP. Пароль пользователя будет храниться в LDAP и не запишется в БД платформы.
Пример: В платформе создана учётная запись с именем admin@example.com и паролем secret1. В LDAP есть учётная запись с именем admin@example.com и паролем secret2. После синхронизации пользователь admin@example.com сможет авторизоваться в платформе только с паролем secret2. Платформа не изменяет уровень учетной записи на данные из LDAP. Независимо от того, в какой группе находится учётная запись в LDAP, уровень учётной записи задается в платформе в настройках синхронизации с LDAP (соответствие DN группы из LDAP роли в платформе).
- Если администратор удалит из платформы пользователя, созданного при синхронизации с LDAP, платформа создаст этого пользователя при следующей синхронизации.
- Если пользователь будет удалён из каталога LDAP, платформа установит для учётной записи статус "Заблокирован". Такой пользователь не сможет авторизоваться в платформе.
- Если пользователь будет заблокирован в каталоге LDAP, платформа установит для него статус "Заблокирован в LDAP". Такой пользователь не сможет авторизоваться в платформе.
Если удалить настроенную синхронизацию, пользователи из каталога LDAP не смогут авторизоваться в платформе.
Подготовка
Перед синхронизацией рекомендуем создать в платформе учётную запись администратора с email, отсутствующим в LDAP. Это поможет восстановить доступ к платформе, если после синхронизации учётная запись администратора по каким-то причинам окажется заблокированной.
Если на сервере с LDAP самоподписанный SSL-сертификат
Настройка синхронизации
Чтобы настроить синхронизацию, перейдите в
→ Синхронизация с LDAP:- Выберите реализацию каталога LDAP:
- LDAP — стандартная реализация службы каталогов;
- Active Directory;
- FreeIPA;
ALD Pro.
Для синхронизации с ALD Pro:
- в DCImanager 6 — выберите ALD Pro;
- в VMmanager — выберите FreeIPA.
- Укажите настройки подключения:
- Base DN — объект каталога, с которого начинается поиск. Например, для каталога example.com укажите "dc=example,dc=com".
- Если нужно, включите опцию Использовать SSL для подключения.
- Адрес основного сервера.
- Порт подключения.
- Bind DN — уникальное имя для аутентификации. Вы можете указать имя в формате name@example.com или "cn=name,ou=group,dc=example,dc=com".
- Пароль.
- Для стандартной реализации LDAP укажите:
- Users DN — параметр для поиска и загрузки пользователей. Например, "ou=users".
- Groups DN — параметр для поиска и загрузки групп пользователей. Например, "ou=groups".
- Groupname attribute — атрибут для загрузки имени группы. Например, CN или memberof.
- E-mail attribute — атрибут для загрузки адреса электронной почты пользователя. Например, mail.
- Users DN — параметр для поиска и загрузки пользователей. Например, "ou=users".
- Нажмите Далее. Платформа проверит подключение к каталогу LDAP с указанными параметрами.
- Выберите DN группы для всех ролей, используемых в платформе.
- Чтобы платформа выполняла синхронизацию по расписанию:
- Включите опцию Синхронизировать пользователей автоматически.
- Выберите параметры расписания:
- Каждый час;
- Ежедневно → выберите время;
- Еженедельно → выберите день недели → выберите время;
- произвольное время в формате cron → укажите Команду для cron. Например, 15 10 * * 0 — синхронизировать по воскресеньям в 10:15 или 00 12 1,16 * * — синхронизировать по 1-м и 16-м числам месяца в 12:00.
- Вы можете Загрузить список пользователей для синхронизации. Список содержит имена пользователей, их роли и информацию о наличии аналогичных пользователей в платформе.
- Нажмите Начать синхронизацию. Платформа запустит процесс синхронизации. Синхронизация может занять несколько минут.

Пример настройки
Вы можете изменить сохранённые настройки в разделе
→ Синхронизация с LDAP.Чтобы выполнить синхронизацию вручную, перейдите в
Синхронизация через API
Для настройки синхронизации используйте API сервиса LDAP.
Пример настройки подключения
Проверьте подключение и получите список групп:
BASHЗавершите создание подключения:
BASH
Диагностика
Лог-файлы синхронизации хранятся на сервере с платформой:
- DCImanager 6 — файл /var/log/isp_ldap.log в контейнере dci_ldap_1;
- VMmanager — файл /var/log/isp_ldap.log в контейнере vm_ldap_1.
Может быть полезно
Связанные статьи: