Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / Синхронизация пользователей / Настройка синхронизации из on-premise AD (LDAP-SCIM)

Настройка синхронизации из on-premise AD (LDAP-SCIM)

Сервис синхронизации LDAP-SCIM переносит сотрудников и группы доступа из локальной Active Directory в UnSpot: приложение UnSpotAdScim устанавливается на машину с Windows в вашем контуре, по расписанию читает каталог по протоколу LDAP и передаёт данные в облако по стандарту SCIM. В статье — что подготовить, как создать подключение SCIM 2.0 на стороне UnSpot, как установить приложение, чем заполнить параметры подключения к каталогу и как запускать и останавливать службу. Как устроен обмен и какие данные уходят в облако, описано в статье «Синхронизация из on-premise AD (LDAP-SCIM): как устроена».

Что понадобится

Схема ниже показывает общую картину: служба синхронизации работает в вашем контуре, читает Active Directory и передаёт данные в облако UnSpot по HTTPS. Левая ветвь схемы, «СКУД API», относится к другой интеграции и в этой статье не рассматривается.

ЧтоПодробности
Машина с WindowsКомпьютер или сервер с 64-разрядной Windows. Синхронизация идёт, пока запущена служба, поэтому машина должна работать постоянно или включаться регулярно
Среда выполнения .NET 9 (x64)Дистрибутив поставляется как MSI-инсталлятор. Запускайте установку через setup.exe — он проверит среду выполнения и при необходимости установит её
Права локального администратораНужны для установки приложения, регистрации службы Windows и управления ею
Учётная запись для чтения каталогаОтдельная учётная запись с правом чтения нужной ветки Active Directory. Права на запись не нужны: служба только читает
Сетевой доступС этой машины: LDAP на порт 389 или LDAPS на порт 636 до контроллера домена и исходящий HTTPS на порт 443 до вашего домена в UnSpot. Входящие правила не нужны
Роль в UnSpotПодключение SCIM 2.0 создаёт «Владелец» или «Администратор интеграций»
ДистрибутивУстановочный файл приложения UnSpotAdScim предоставляет ваш менеджер UnSpot

Подключение SCIM 2.0 в UnSpot

  1. Перейдите в «Настройки» → «Интеграции» → «Синхронизации».
  2. В разделе «Синхронизация пользователей» выберите карточку «SCIM 2.0» и нажмите «Подключить».
  3. Сохраните у себя данные URL и секретный токен: в дальнейшем токен получить будет невозможно.
  4. При подключении задайте «Срок работы токена» — «Без ограничения» или от 1 до 24 месяцев (срок можно изменить позже в карточке «SCIM 2.0»). Просроченный токен сервер отклоняет с ошибкой 400 «Token is expired» (неверный токен — 401 «Access denied»), а в день истечения UnSpot отправляет письмо получателям подписки «Ошибки синхронизации». Сервис синхронизации срок жизни токена не отслеживает — продлевайте его заранее.
  5. Настройте желаемую опцию отправки приветственных писем для сотрудников.

Установка сервиса UnSpotAdScim

  1. Обратитесь к своему менеджеру с просьбой предоставить установочный файл приложения UnSpotAdScim.
  2. Установите приложение на устройстве с ОС Windows. Дистрибутив поставляется как MSI-инсталлятор: запускайте установку через setup.exe от имени администратора — при необходимости он установит среду выполнения .NET 9 (x64). Каталог установки по умолчанию — C:\Program Files\Umbrella IT\UnSpotAdScim.
  3. Убедитесь, что с этой машины разрешён исходящий трафик к серверам UnSpot и доступен контроллер домена. Без этого синхронизация информации о пользователях и группах не заработает.
  4. Запустите файл «UnSpot AD SCIM.exe» из каталога приложения от имени администратора. При первом запуске приложение само регистрирует службу Windows «UnSpotAdScimService» — её видно в оснастке «Службы».

Настройка сервиса

Все параметры задаются в окне приложения, на вкладке «ActiveDirectory». Окно состоит из двух блоков: «Параметры подключения» — доступ к каталогу и набор синхронизируемых полей, «Параметры сервиса синхронизации» — адрес UnSpot, токен и интервал. Изменив что-либо, обязательно нажмите «Сохранить параметры»: служба читает не окно, а файл настроек.

Параметры подключения к AD

Одно подключение — один каталог. Кнопка «Добавить подключение» создаёт ещё один блок полей: подключений может быть сколько угодно, у каждого свои учётные данные, фильтры и набор полей. Лишний блок убирается кнопкой «Удалить».

ПолеЧто указать
ХостСетевой адрес вашего сервера, на котором установлен и работает ваш AD. Обычно это IP-адрес или доменное имя сервера
DN (Distinguished Name)Уникальный идентификатор в LDAP, обозначающий запись в иерархической структуре каталогов. Он представляет полный путь к объекту от корня и состоит из пар «атрибут-значение», разделённых запятыми, и задаёт ветку, внутри которой служба ищет записи.
Пример: CN=Users,DC=домен,DC=зона
ПортПо умолчанию для LDAP — 389, для LDAPS — 636. Флажок «шифрование» рядом с полем выставляется автоматически: для 389 снят, для 636 установлен и в обоих случаях недоступен для изменения. Менять его вручную можно только при нестандартном порте
Логин, парольУчётные данные для подключения к on-premise AD. Достаточно прав на чтение — записывать в каталог служба ничего не будет
Данные для синхронизацииНабор полей, которые уйдут в UnSpot. «Email», «Имя» и «Фамилия» отмечены всегда и не отключаются. Дополнительно можно включить:
• «Отдел»;
• «Руководитель»;
• «Должность»;
• «Телефон»;
• «Номер пропуска»;
• «Аватар» — синхронизируется из атрибута thumbnailPhoto (jpeg/png, до 100 КБ);
• «Оргструктура»;
• «Группы» — вместе с составом групп.
«Отдел» и «Оргструктура» взаимно исключают друг друга: включение одного снимает другое
Фильтр для пользователейФильтр LDAP, ограничивающий выборку сотрудников. Если поле пустое, применяется (objectClass=user). Поиск идёт по всей ветке ниже указанного DN
Фильтр для группФильтр LDAP для групп доступа; по умолчанию (objectClass=group). Применяется, только если отмечены «Группы»
Фильтр для оргструктурыФильтр LDAP для подразделений; по умолчанию (objectCategory=organizationalUnit). Применяется, только если отмечена «Оргструктура»
Поле в AD для EmailАтрибут, в котором у пользователей хранится почта: mail или userPrincipalName. Сотрудник, у которого этот атрибут не заполнен, в синхронизацию не попадает
UAC содержит флагиФильтр по атрибуту userAccountControl: синхронизируются только записи, у которых установлены все перечисленные флаги. Флаги указываются в десятичной системе через запятую
UAC НЕ содержит флагиОбратный фильтр: запись пропускается, если у неё установлен любой из перечисленных флагов. Например, значение 2 исключает отключённые учётные записи. Подробнее см. в статье Использование флагов UserAccountControl
Префикс для группПрименение префиксов предотвращает дублирование названий групп и обеспечивает корректную синхронизацию, когда активны несколько подключений с одинаковыми названиями групп. Префикс можно вводить на латинице и кириллице
Поле в AD для NumberPassНазвание атрибута, в котором хранится номер пропуска. Заполняется, если отмечен «Номер пропуска»: пока поле пустое, оно подсвечивается красным, а номер пропуска в UnSpot не попадёт

Параметры сервиса синхронизации

ПолеЧто указать
UnSpot SCIM ServerАдрес URL, сохранённый при подключении карточки «SCIM 2.0»
Токен авторизации в UnSpot по протоколу SCIMСекретный токен из той же карточки. В окне значение скрыто звёздочками, но в файле настроек на диске хранится в открытом виде — ограничьте доступ к каталогу приложения
Задержка между синхронизациями (в часах)Пауза между циклами: от 1 до 1000 часов, по умолчанию 24. Отсчитывается от момента завершения предыдущего цикла
запуск при старте WindowsВключает отложенный автозапуск службы после загрузки системы. Без этого флажка после каждой перезагрузки службу придётся запускать вручную

Запуск и остановка службы

  • «Запустить сервис» — сохраняет параметры и запускает службу. Первый цикл синхронизации начинается сразу, следующий — через заданный интервал.
  • «Остановить сервис» — останавливает службу; начатый цикл прерывается.
  • Поле «Статус» показывает текущее состояние — «Служба запущена» или «Служба остановлена» — и обновляется само, без перезапуска окна.
  • Пока служба запущена, кнопки «Сохранить параметры» и «Запустить сервис» недоступны. Чтобы изменить настройки, остановите службу, внесите правки, сохраните их и запустите службу снова.

Служба зарегистрирована в Windows под именем «UnSpotAdScimService», поэтому запускать и останавливать её можно и из оснастки «Службы». Учтите: главный идентификатор сотрудника — адрес электронной почты. Если у пользователя в Active Directory он не заполнен, такой пользователь в UnSpot не попадёт.

Проверка и диагностика

Ход работы виден в журнале службы — файл logs\service-log.txt в каталоге приложения. В нём записан каждый цикл: сколько групп и пользователей загружено из каталога, сколько получено из UnSpot, кто создан, обновлён и удалён, а также причины, по которым запись пропущена.

Запись в журналеЧто означает
Синхронизация групп отключенаВ наборе полей не отмечены «Группы» — ни группы, ни их состав не синхронизируются
Поле FirstName или LastName пустоеУ пользователя не заполнены givenName или sn. Имя и фамилия берутся из displayName, а если пуст и он — запись пропускается
Email пользователя … не валидныйЗначение выбранного почтового атрибута не похоже на адрес — служба подставляет userPrincipalName
Пользователь пропущен по фильтрации флагов в поле UACЗапись отсеяна настройками «UAC содержит флаги» или «UAC НЕ содержит флаги»
Дубль пользователя AD, Дубль группыОдна и та же запись пришла из двух подключений или совпала по почте либо названию. В UnSpot она заведена один раз
Ошибка при синхронизации …Шаг цикла завершился ошибкой. Остальные шаги при этом выполняются, повтор произойдёт в следующем цикле

По умолчанию пишутся события уровня Info, файл ротируется раз в сутки, хранятся семь архивных копий. Для разбора проблемы можно включить подробный уровень: в файле NLog.config в каталоге приложения замените minlevel="Info" на minlevel="Debug" в правиле логирования для Release и перезапустите службу. В подробном режиме в журнал попадают тела запросов к UnSpot, то есть значения всех передаваемых полей, — верните прежний уровень сразу после диагностики.

Изменение настроек и удаление

Чтобы изменить параметры, остановите службу кнопкой «Остановить сервис», отредактируйте поля, нажмите «Сохранить параметры» и запустите службу снова. Служба перечитывает файл настроек в начале каждого цикла.

Приложение удаляется стандартно — через «Параметры» → «Приложения». При удалении служба останавливается и снимается с регистрации, файл настроек и папка журналов стираются. Файлы кэша cache.db и events.db остаются в каталоге приложения: если машина выводится из эксплуатации, удалите каталог целиком. Что лежит в этих файлах, описано в статье «Синхронизация из on-premise AD (LDAP-SCIM): как устроена».

Связанные статьи

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Loading

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Loading