Импорт данных по учётным записям пользователей c сервера LDAP

Импорт учетных данных пользователей сервера LDAP выполняется согласно расписанию, которое задается в конфигурационных параметрах.

После синхронизации в БД для модуля инвентаризации (lcm-inventory) в таблицах users и user_groups появляется информация о пользователях домена и их группах:

Параметр на LDAP-сервере Параметр в БД LCM Описание

objectGUID

users.id

Уникальный идентификатор пользователя

sAMAccountName

users.login

Имя пользователя для входа в систему (Логин)

userPrincipalName

users.domain_full_name

Полное доменное имя пользователя (например ivanov@inno.tech или petrov@samara.vtb.ru)

userPrincipalName (подстрока)

users.domain

Имя домена в короткой форме записи (например inno.tech или samara.vtb.ru)

mail

users.email

Адрес электронной почты

cn

users.common_name

Общее имя пользователя

name

users.first_name

Короткое имя пользователя

givenName

users.given_name

Имя пользователя

sn

users.last_name

Фамилия пользователя

displayName

users.display_name

Отображаемое имя пользователя

title

users.title

Должность пользователя

department

users.department

Отдел, в котором работает пользователь

company

users.company

Подразделение, в котором работает пользователь

memberOf

user_groups.group_name

Группы пользователя, связь один к многим

Расписание выполнения синхронизации пользователей

Синхронизация происходит с помощью встроенного в продукт планировщика задач по расписанию. Управление расписанием осуществляется с помощью параметра в файле application.properties:

lcm.inventory.job.sync-users.cron.expr=*/5 * * * * ?

Значением данного параметра выступает выражение cron-like.

Значение параметра по умолчанию 0 0 12 * * ? соответствует ежедневному запуску задания в 00:00:00. Для выключения задания синхронизации используется значение указанного параметра off:

lcm.inventory.job.sync-users.cron.expr=off

Синхронизация пользователей может быть осуществлена из нескольких доменов LDAP-сервера и выполняется последовательно. Для задания параметров подключения к каждому из доменов заполните следующий набор параметров группы lcm.inventory.ldap.datasource[i] в файле application.properties:

# максимальное количество пользователей для одной итерации синхронизации
lcm.inventory.ldap.search-page-size=500

# Блок параметров подключения к домену номер #1 (нумерация с 0)

# условное обозначение домена
lcm.inventory.ldap.datasource[0].name=domain_alias1
# IP адрес или сетевое имя контроллера домена
lcm.inventory.ldap.datasource[0].host=192.168.0.1
# Порт для соединения по протоколу LDAP. Опционален, по умолчанию имеет значение `389`.
# Для LDAP over SSL обычно используют порт 636
lcm.inventory.ldap.datasource[0].port=636
# Имя пользователя, которое будет использовано для подключения к домену MS AD.
# Может иметь следующие форматы
# 1) <имя_пользователя>@<имя домена>, например ivanov@INNO
# 2) Пользователь в формате LDAP, например CN=ivanov,CN=Users,DC=inno,DC=local
lcm.inventory.ldap.datasource[0].username=username1@domain1_name
# Пароль пользователя для подключения к домену MS AD.
lcm.inventory.ldap.datasource[0].password=user_password
# Параметр отвечающий за соединение по протоколу LDAP over SSL (LDAPS).
# Возможные значения:
# 1) false - соответствует выключенному протоколу LDAPS, используется обычный LDAP
# 2) true - соответствует включенному протоколу LDAPS, требует наличие файла с сертификатом для SSL соединения (задается отдельным параметром)
# 3) trust-all - соответствует включенному протоколу LDAPS, принимает любые сертификаты без подтверждения
# Опционален, по умолчанию имеет значение `false`
lcm.inventory.ldap.datasource[0].ssl=true
# Относительный или абсолютный путь к файлу с сертификатом для подключения через LDAPS.
# Опционален, по умолчанию имеет значение `certificate.pem`
# Формат файла с сертификатом SSL и способ его получения описаны ниже
lcm.inventory.ldap.datasource[0].ssl-certificate=/home/username/cert1.pem
# Базовое имя домена для поиска пользователей в формате записи LDAP
lcm.inventory.ldap.datasource[0].base-dn=DC=domain_name1,DC=local
# Максимальная длительность подключения к LDAP серверу в миллисекундах. Значение `0` означает бесконечное ожидание.
# Опционален, по умолчанию имеет значение `10000`
lcm.inventory.ldap.datasource[0].connect-timeout-millis
# Максимальная длительность выполнения запроса к LDAP серверу в миллисекундах. Значение `0` означает бесконечное ожидание.
# Опционален, по умолчанию имеет значение `10000`
lcm.inventory.ldap.datasource[0].response-timeout
# Параметр отвечает за освобождение соединения в случае превышения максимальной длительности ожидания запроса.
# Возможные значения `true` и `false`
# Опционален, по умолчанию имеет значение `true`
lcm.inventory.ldap.datasource[0].abandon-on-timeout
# Указывает, разрешать ли использование экземпляра фабрики сокетов (который может совместно использоваться несколькими соединениями)
# для одновременного создания нескольких сокетов. Как правило, реализации фабрики сокетов являются потокобезопасными
# и могут создавать несколько соединений одновременно в отдельных потоках, но известно, что это не так в некоторых
# реализациях виртуальных машин (например, фабрики сокетов SSL в IBM JVM). Этот параметр может использоваться, чтобы указать,
# следует ли разрешить одновременные попытки создания сокета (что может обеспечить лучшую и более стабильную производительность,
# особенно в случаях, когда попытка подключения не удалась из-за тайм-аута) или предотвратить (что может быть необходимо для
# непотокового реализации фабрики сокетов)
# Возможные значения `true` и `false`
# Опционален, по умолчанию имеет значение `true`
lcm.inventory.ldap.datasource[0].allow-concurrent-socket-factory-use

# Блок параметров подключения к домену номер #2
lcm.inventory.ldap.datasource[1].name=domain_alias2
lcm.inventory.ldap.datasource[1].host=192.168.0.2
lcm.inventory.ldap.datasource[1].port=389
lcm.inventory.ldap.datasource[1].username=username2@domain2_name
lcm.inventory.ldap.datasource[1].ssl=false
lcm.inventory.ldap.datasource[1].base-dn=DC=domain_name2,DC=local

# Блок параметров подключения к домену номер #3
lcm.inventory.ldap.datasource[2].name=domain_alias2
#...