Импорт данных по учётным записям пользователей c сервера LDAP
Импорт учетных данных пользователей сервера LDAP выполняется согласно расписанию, которое задается в конфигурационных параметрах.
После синхронизации в БД
в таблицах users и user_groups
появляется информация о пользователях домена и их группах:
| Параметр на LDAP-сервере | Параметр в БД LCM | Описание |
|---|---|---|
objectGUID |
users.id |
Уникальный идентификатор пользователя |
sAMAccountName |
users.login |
Имя пользователя для входа в систему (Логин) |
userPrincipalName |
users.domain_full_name |
Полное доменное имя пользователя (например, |
userPrincipalName (подстрока) |
users.domain |
Имя домена в короткой форме записи (например, |
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 |
Группы пользователя, связь один к многим |
Расписание выполнения синхронизации пользователей
Синхронизация происходит с помощью встроенного в продукт планировщика задач по расписанию.
Управление расписанием осуществляется с помощью параметра
lcm.inventory.job.sync-users.cron.expr
в файле application.properties:
lcm.inventory.job.sync-users.cron.expr=*/5 * * * * ?
Значением данного параметра выступает
выражение cron-like.
Выражение cron-like относится к формату временных интервалов, которые используются в системе планирования задач cron
в операционной системе Unix. Этот формат представляет собой строку, которая содержит шесть или семь полей,
разделенных пробелами или табуляцией. В каждом поле задано значение времени или даты,
когда задача должна быть выполнена.
Поля могут содержать любые разрешенные значения, а также различные комбинации разрешенных специальных
символов для этого поля.
Описание полей:
| Поле | Обязательность заполнения | Допустимые значения | Допустимые специальные символы |
|---|---|---|---|
Секунды |
Да |
|
|
Минуты |
Да |
|
|
Часы |
Да |
|
|
День месяца |
Да |
|
|
Месяц |
Да |
|
|
День недели |
Да |
|
|
Год |
Нет |
|
|
Описание специальных символов:
| Значение | Расшифровка | Описание | ||
|---|---|---|---|---|
|
Все значения |
Используется для выбора всех значений в поле. Например, если в поле Минуты указано значение |
||
|
Нет специального значения |
Используется, когда не важно, какой это должен быть день месяца или день недели.
Например, если в поле День месяца указано значение |
||
|
Используются для указания диапазона. Например, если в поле Часы указано значение |
|||
|
Используется для поочередного указания значений. Например, если в поле День недели указано значение |
|||
|
Используется для указания приращения. Например, если в поле Секунды указано значение |
|||
|
От англ. — last (последний) |
Используется для указания значений:
Также может использоваться для указания смещения от последнего дня месяца, например,
|
||
|
От англ. — weekday (рабочий день) |
Используется для указания ближайшего рабочего дня недели (понедельник-пятница) к указанному дню. Например, если
в поле День месяца указано значение Можно объединить символ
|
||
|
Используется для указания n-ного дня месяца. Например, если в поле День недели указано значение
|
Примеры выражений:
-
* * * ? * *— задача должна выполняться каждую секунду; -
0 * * ? * *— задача должна выполняться каждую минуту; -
0 */2 * ? * *— задача должна выполняться каждую четную минуту; -
0 15,30,45 * ? * *— задача должна выполняться каждый час в 15, 30 и 45 минут; -
0 0 * * *— задача должна выполняться в полночь каждый день; -
0 0 12 ? * 5#3— задача должна выполняться каждый месяц в третий четверг месяца с 00:00 до 12:00.
Больше примеров вы можете найти, перейдя по ссылке.
В качестве значения параметра по умолчанию используется 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
#...