Интеграция с LDAP

Интеграция с LDAP - страница платформы Штурвал, на которой вы можете настроить интеграцию с каталогом сотрудников вашей компании, например, OpenLDAP, AD.

Настройка интеграции доступна в двух режимах:

  • Базовый (включен по умолчанию)
  • Расширенный (для изменения переключите значение флага “Показать расширенные настройки”)

В базовом режиме для настройки необходимо заполнить только обязательные и условно обязательные поля. По умолчанию предлагается интеграция без TLS.

Настройки подключения:

  • DN для подключения (Distinguished Name технологической учетной записи пользователя для запросов в LDAP)
  • Пароль для подключения
  • Адрес LDAP-сервера (FQDN или IP-адрес). Например, ldap.example.ru или 10.11.112.33:636

Настройки подключения доступны в двух режимах: Ручной и Авто. В ручном режиме поиск групп, пользователей и сопоставление пользователей заполняются вручную.

В автоматическом режиме настройки подключения необходимо выбрать каталог (ActiveDirectory, OpenLDAP, SambaDC, FreeIPA). При необходимости настройте базовый DN анализа групп и базовый DN поиска пользователей, выполните проверку подключения.

После подключения нажмите на Выполнить анализ и проверьте содержание автоматически заполненных полей.

Настройки подключения

При выборе Использовать TLS дополнительно будут доступны поля:

  • Создавать TLS-сессию при подключении к LDAP;
  • Выключить верификацию CA;
  • Клиентский сертификат (файл для загрузки)
  • Доверенный корневой сертификат (файл для загрузки)
  • Клиентский приватный ключ (файл для загрузки)

Загруженные файлы будут переведены в формат base64. По завершении интеграции файлы будут доступны для скачивания из интерфейса.

Обратите внимание! Для изменения настроенной конфигурации необходимо введение пароля в настройках подключения.

Поиск групп

  • Базовый DN поиска групп (Базовое полное название группы)
  • Атрибут имени группы (например, cn, uid или другой атрибут, который указывает на краткое название группы в каталоге)

Поиск пользователей

  • Базовый DN поиска пользователей (Базовое полное название организационной единицы “пользователь”)
  • Email атрибут (Поле уровня “пользователь” в LDAP, содержащее email сотрудника)
  • Email суффикс (Общий суффикс, который будет добавляться к userName пользователя)
  • Name атрибут (Поле уровня “пользователь” в LDAP, содержащие отображаемое имя сотрудника)
  • UserName атрибут (Поле в LDAP, содержащие уникальное имя пользователя)

Из них условно-обязательные поля (должно быть заполнено хотя бы одно из них):

  • Email атрибут
  • Email суффикс

При выборе расширенных настроек доступны дополнительные атрибуты:

  • Фильтр (Дополнительный поле, применяемое для фильтрации при поиске в каталоге. В фильтре указывается атрибут записи и присваиваемое значение, по которому необходимо осуществить поиск, например, objectClass=person)
  • Scope (Область поиска)
  • PreferredUserName атрибут (Поле уровня “пользователь” в LDAP, содержащее предпочтительное имя сотрудника)

В блоке Сопоставление пользователей вы можете задать шаблон связи атрибута пользователя и атрибута группы.

После заполнения обязательных полей станет доступна кнопка Протестировать. Нажатие на эту кнопку инициирует попытку подключения к каталогу. В случае успешного подключения станет доступна кнопка Сохранить.

При необходимости внести изменения в сохраненную настройку введите пароль. После этого протестируйте интеграцию с измененными настройками и сохраните их.

Примеры

Пример заполнения полей для настройки интеграции с типовым каталогом OpenLDAP

Настройки подключения

  • DN для подключения: cn=admin,dc=example,dc=com (пример DN для технологической учетной записи пользователя)
  • Пароль для подключения: password123
  • Адрес LDAP-сервера: ldap.example.ru (пример FQDN сервера LDAP)

Поиск групп

  • Базовый DN поиска групп: ou=Groups,dc=example,dc=com (пример базового полного названия группы)
  • Атрибут имени группы: cn (пример атрибута, указывающего на краткое название группы в каталоге)

Поиск пользователей

  • Базовый DN поиска пользователей: ou=Users,dc=example,dc=com (пример базового полного названия организационной единицы “пользователь”)
  • Email атрибут: mail (пример поля уровня пользователя в LDAP, содержащего email сотрудника)
  • Email суффикс: @example.com (пример общего суффикса, который будет добавляться к userName пользователя)

Email суффикс указывается, если в LDAP не указан Email-атрибут в явном виде

При использовании TLS

  • Создавать TLS-сессию при подключении к LDAP: да/нет (выбор опции для создания TLS-сессии при подключении к серверу LDAP)
  • Выключить верификацию CA: да/нет (выбор опции для отключения проверки сертификата удостоверяющего центра)
  • Клиентский сертификат: file.pem (файл с клиентским сертификатом)
  • Доверенный корневой сертификат: ca.pem (файл с доверенным корневым сертификатом)
  • Клиентский приватный ключ: key.pem (файл с клиентским приватным ключом)

В блоке “Сопоставление пользователей” можно задать шаблон связи атрибута пользователя и атрибута группы. Например, можно сопоставить атрибут “uid” пользователя с атрибутом “memberOf” группы, чтобы определить принадлежность пользователя к определенной группе.

dn: uid=user1,ou=users,dc=example,dc=com
uid: user1
cn: User One
memberOf: cn=group1,ou=groups,dc=example,dc=com
memberOf: cn=group2,ou=groups,dc=example,dc=com

Пример заполнения полей для настройки интеграции с типовым каталогом AD

Настройки подключения

  • DN для подключения: cn=admin,dc=example,dc=com
  • Пароль для подключения: password123
  • Адрес LDAP-сервера: ldap.example.ru

Поиск групп

  • Базовый DN поиска групп: ou=groups,dc=example,dc=com
  • Атрибут имени группы: cn

Поиск пользователей

  • Базовый DN поиска пользователей: ou=users,dc=example,dc=com
  • Email атрибут: mail
  • Email суффикс: @example.com
  • Name атрибут: displayName
  • UserName атрибут: uid

При использовании TLS

  • Создавать TLS-сессию при подключении к LDAP: Да
  • Выключить верификацию CA: Нет
  • Клиентский сертификат: client.crt
  • Доверенный корневой сертификат: ca.crt
  • Клиентский приватный ключ: client.key

Пример настройки сопоставления пользователей и групп

  • Атрибут пользователя: uid
  • Атрибут группы: member

В данном примере используется типовой каталог Active Directory, где DN для подключения будет административным пользователем с полным контролем над LDAP-сервером, а для поиска групп и пользователей используются соответствующие организационные единицы и атрибуты.

Пример заполнения полей для настройки интеграции с типовым каталогом Samba DC

Настройки подключения

  • DN для подключения: cn=admin,dc=example,dc=com (где “example” - это имя домена, а “com” - имя верхнего уровня домена)
  • Пароль для подключения: password1234
  • Адрес LDAP-сервера: ldap.example.ru или 10.11.112.33:636 (ldap.example.ru - полное доменное имя сервера LDAP, 10.11.112.33 - IP-адрес сервера LDAP, :636 - стандартный порт сервера LDAP с использованием TLS)

Поиск групп

  • Базовый DN поиска групп: ou=groups,dc=example,dc=com (где “example” - это имя домена, а “com” - имя верхнего уровня домена)
  • Атрибут имени группы: cn (в типовом каталоге SambaDC группы имеют атрибут “cn” для указания их имени)

Поиск пользователей

  • Базовый DN поиска пользователей: ou=users,dc=example,dc=com (где “example” - это имя домена, а “com” - имя верхнего уровня домена)
  • Email атрибут: mail (в типовом каталоге SambaDC пользователи имеют атрибут “mail”, содержащий их адрес электронной почты)
  • Email суффикс: @example.com (в типовом каталоге SambaDC доменное имя “example.com” используется как суффикс для email адресов пользователей)
  • Name атрибут: displayName (атрибут “displayName” содержит полное имя пользователя)
  • UserName атрибут: sAMAccountName (атрибут “sAMAccountName” содержит уникальное имя пользователя)

В блоке “Сопоставление пользователей” можно указать шаблон связи атрибута пользователя и атрибута группы. Например, если в каталоге пользователей использован атрибут “uid”, а в каталоге групп - атрибут “cn”, то шаблон связи может быть “uid={{USER}}”, где “{{USER}}” будет заменено на имя пользователя при поиске его групп.

Подключение каталога FreeIPA

Допустим, есть структура каталога FreeIPA:

{
  "host": "freeipa.xxx.xx.msk.ru",
  "insecureNoSSL": true,
  "insecureSkipVerify": false,
  "startTLS": false,
  "clientCertData": "",
  "clientKeyData": "",
  "rootCAData": "",
  "bindDN": "uid=admin,cn=users,cn=accounts,dc=freeipa,dc=tech",
  "bindPW": "1qaz@WSX",
  "usernamePrompt": "",
  "userSearch": {
    "baseDN": "cn=users,cn=accounts,dc=freeipa,dc=tech",
    "filter": "",
    "username": "uid",
    "scope": "",
    "idAttr": "uid",
    "emailAttr": "mail",
    "nameAttr": "uid",
    "preferredUsernameAttr": "uid",
    "emailSuffix": "freeipa.tech"
  },
  "groupSearch": {
    "baseDN": "cn=groups,cn=accounts,dc=freeipa,dc=tech",
    "filter": "",
    "scope": "",
    "userAttr": "",
    "groupAttr": "",
    "userMatchers": [
      {
        "userAttr": "DN",
        "groupAttr": "member"
      }
    ],
    "nameAttr": "cn"
  }
}

DN для подключения: uid=admin,cn=users,cn=accounts,dc=freeipa,dc=tech Пароль для подключения: pass1234 Адрес LDAP-сервера: freeipa.xxx.xx.msk.ru

Поиск групп

Базовый DN поиска групп: cn=groups,cn=accounts,dc=freeipa,dc=tech Атрибут имени группы: cn

Поиск пользователей

Базовый DN поиска пользователей: cn=users,cn=accounts,dc=freeipa,dc=tech Email атрибут: mail Email суффикс: freeipa.tech Name атрибут: uid UserName атрибут: uid Атрибут пользователя: DN Атрибут группы: member