LDAP
LDAP (Lightweight Directory Access Protocol) — открытый протокол прикладного уровня с множеством реализаций для доступа к службе каталогов, использующий TCP/IP и позволяющий производить операции аутентификации (bind), поиска (search) и сравнения (compare), а также операции добавления, изменения или удаления записей об организации, ее активах и пользователях.
Основные понятия LDAP
DN (Distinguished Name) – Уникальное имя; отличительное имя. Всякая запись в каталоге LDAP состоит из одного или нескольких атрибутов и обладает уникальным именем. Примеры уникальных имен:
CN=Администратор,CN=Users
;CN=Иван Петров,OU=Сотрудники,DC=example,DC=com
.
Уникальное имя состоит из одного или нескольких относительных уникальных имён (RDN). RDN (Relative Distinguished Name) – Относительное уникальное имя. Уникальное имя (DN) состоит из одного или нескольких относительных уникальных имён (RDN), разделённых запятыми. Относительное уникальное имя имеет вид ИмяАтрибута=значение. На одном уровне каталога не может существовать двух записей с одинаковыми относительными уникальными именами. Примеры RDN:
CN=Иван Петров
;OU=Сотрудники
;DC=example
;DC=com
.
Атрибуты записи. Каждая запись в LDAP-системе обладает уникальным именем (DN) и хранится как совокупность элементов, называемых атрибутами. Атрибуты являются парами «ключ-значение», например: «mail: admin@example.com», или «CN: Иван Петров». Каждый атрибут определён в наборе схемы данных.
-
DIT (Data Information Tree) – Информационное дерево Каталога (Информационное дерево справочника). Все записи в системе LDAP иерархически упорядочены в виде веток на деревьях, называемых DIT. DIT представляет собой организационную структуру (Каталог), где каждая запись (кроме корневой записи верхнего уровня) имеет ровно одну родительскую запись и под ней может находиться любое количество дочерних записей. Запись по ее DN (distinguished name) используется для идентификации в DIT в целом и функционирует как полный путь до "корня" DIT. «Корнем» является само доменное имя (например: foiv.local; citadel.com; example.com и т.д.).
-
Base DN:
- Корневая точка входа в LDAP, с которой начинается поиск всех объектов (пользователей, групп, компьютеров и т. д.).
-
Group DN:
- Путь к контейнеру/подразделению, где хранятся группы.
-
User DN:
- Путь к контейнеру/подразделению, где хранятся учетные записи пользователей.
Base DN, Group DN, User DN определяют, где искать пользователей, группы и другие объекты в структуре LDAP-каталога
Также частями спецификации Каталога LDAP, которые определяют его узлы, являются:
- CN = Common Name (Общее Имя);
- OU = Organizational Unit (Подразделение).
- DC = Domain Component (Компонент Домена).
Настройка подключения к LDAP
Настройка LDAP выполняется на странице Главная / Настройки / Пользователь / LDAP
.
Памир поддерживает одновременную работу с несколькими доменами. Ниже приведены параметры настройки подключения к LDAP с пояснениями и примерами заполнения.
Основные параметры подключения
Параметр | Описание | Пример заполнения |
---|---|---|
Название | Произвольное имя подключения (для идентификации в системе). | LDAP-подключение к Active Directory |
Протокол | Тип шифрования соединения: | SSL , TLS , Без шифрования |
Хост | IP-адрес или FQDN LDAP-сервера. | ldap.example.com , 192.168.1.100 |
Порт | Порт LDAP-сервера (по умолчанию: 389 для незашифрованного, 636 для SSL). | 389 , 636 |
Анонимное подключение | Если включено, логин и пароль не требуются. | ☑ Включено / ☐ Выключено |
Учетные данные для поиска в LDAP
Параметр | Описание | Пример заполнения |
---|---|---|
Логин | Учетная запись для поиска в LDAP (в формате DN). | CN=Администратор,CN=Users,DC=foiv,DC=local |
Пароль | Пароль для указанного пользователя. | ******** |
Пути поиска объектов в LDAP
Параметр | Описание | Пример заполнения |
---|---|---|
Base DN | Корневая точка входа в LDAP (определяет начало поиска). | DC=foiv,DC=local |
User DN | Подпуть для поиска пользователей (добавляется к Base DN). | CN=Employees,OU=Users |
Group DN | Подпуть для поиска групп (добавляется к Base DN). | CN=Security,OU=Groups |
Примечание:
- Полный путь для поиска пользователей:
User DN + Base DN
→CN=Employees,OU=Users,DC=foiv,DC=local
- Полный путь для поиска групп:
Group DN + Base DN
→CN=Security,OU=Groups,DC=foiv,DC=local
Шаблоны поиска
Параметр | Описание | Пример шаблона |
---|---|---|
Шаблон поиска пользователя | LDAP-запрос для поиска пользователя (должен содержать {login} ). | (&(|(objectClass=person)(objectClass=inetOrgPerson))(|(uid={login})(cn={login}))) |
Шаблон поиска группы | LDAP-запрос для поиска групп пользователя (должен содержать {dn} ). | (&(|(objectClass=group)(objectClass=groupOfNames))(member={dn})) |
Пояснение:
- В
{login}
подставляется логин пользователя при аутентификации. - В
{dn}
подставляется Distinguished Name пользователя.
Атрибуты пользователя
Синхронизация атрибутов
Синхронизация атрибутов пользователя с LDAP позволяет настроить автоматическое заполнение атрибутов пользователей в системе на основе данных из LDAP-каталога. Это обеспечивает централизованное управление учетными записями и их атрибутами.
Параметры настройки
Атрибут пользователя
Выберите атрибут пользователя в системе, значение которого будет заполняться из LDAP. Рекомендации:
- Выбирайте атрибуты, которые должны быть едиными для всех пользователей (например, должность, подразделение, контактные данные)
- Не рекомендуется синхронизировать основные идентификаторы, если они используются для входа в систему
Включить синхронизацию
Активирует или деактивирует синхронизацию для выбранного атрибута. Примечание:
- При отключении синхронизации текущее значение атрибута сохраняется в системе
- Изменения в LDAP не будут отражаться на значении атрибута
- Пользователь
- Группа
При типе синхронизации Пользователь значение атрибута берется непосредственно из атрибутов пользователя в LDAP. Использование:
- Укажите точное название атрибута LDAP в поле "Выражение"
- Подходит для простых атрибутов (телефон, должность, отдел)
Выражение
Запрос для поиска значения в LDAP. Формат зависит от выбранного типа синхронизации.
Использование:
- Укажите точное имя атрибута LDAP (например: "title", "department", "telephoneNumber")
- Чувствительно к регистру (точное соответствие с атрибутом в LDAP)
При типе синхронизации Группа значение атрибута определяется на основе членства пользователя в LDAP-группах.
Выражение
Регулярное выражение для поиска группы в которой состоит пользователь.
Использование:
- Регулярное выражение для поиска групп пользователя
- Пример: .Отдел. найдет все группы, содержащие "Отдел"
- Поддерживает стандартный синтаксис регулярных выражений
Способ заполнения значения
Вариант 1: LITERAL (фиксированное значение)
Всегда записывает указанное значение, если найдена подходящая группа
Использование:
- Вводится фиксированная строка
- Пример: "Сотрудник отдела"
Вариант 2: REGEX (извлечение из группы)
Извлекает часть названия группы по регулярному выражению
Использование:
- Поле "Регулярное выражение":
- Должно содержать группу захвата (...)
- Пример для группы "Отдел_Продажи": Отдел_(.*) извлечет "Продажи"
Значение по умолчанию
Поле "Значение при отсутствии группы":
- Заполняется, если пользователь не состоит в искомых группах
- Пример: "Не назначено"
Список групп и OU пользователя
Памир содержит два системных атрибута пользователя:
ous
:- Список OU пользователя
groups
:- Список групп пользователя
Атирбуты заполняются при авторизации через LDAP. Они могут быть использованы при создании правил доступа.
Атрибут groups
содержит группы в которых числится пользователь. Группа записывается в виде DN
.
Пример:
cn=ipausers,cn=groups,cn=accounts,dc=kbrgate,dc=cb
cn=ALDPRO - Main Administrator,cn=roles,cn=accounts,dc=kbrgate,dc=cb
cn=ALDPRO - Regional Administrator,cn=roles,cn=accounts,dc=kbrgate,dc=cb
В интерфейсе список групп выглядит следующим образом.