Синхронизация пользователей с Entra ID (Azure AD) по SCIM
SCIM (System for Cross-domain Identity Management) 2.0 — стандартный протокол провижининга: ваш провайдер идентификации (IdP) сам создаёт, обновляет и деактивирует сотрудников в UnSpot. Это самый управляемый способ синхронизации с Microsoft Entra ID (прежнее название — Azure AD), а также с Okta и любым другим SCIM-совместимым IdP. Подключение выполняется в разделе Администрирование → Интеграции → Синхронизации, карточка SCIM 2.0.

Что такое SCIM-провижининг в UnSpot
При подключении по SCIM источником правды остаётся ваш каталог: IdP отправляет изменения в UnSpot по защищённому HTTPS-соединению с Bearer-токеном. Новые сотрудники появляются в UnSpot автоматически, изменения профилей подтягиваются, уволенные деактивируются, группы и организационная структура поддерживаются в актуальном состоянии. Ручное управление списком сотрудников при этом не требуется.
Перед началом
- Понадобятся права администратора UnSpot с управлением интеграциями (Владелец или Администратор интеграций) и права администратора в вашем IdP.
- Решите, отправлять ли новым сотрудникам приветственные письма — это управляется тумблером «Отправлять приветственные письма» в настройках SCIM-подключения.
- У SCIM-токена настраиваемый срок работы: «Без ограничения» или от 1 до 24 месяцев. По истечении срока провижининг останавливается, пока вы не выпустите новый токен.
Шаг 1. Включите SCIM в UnSpot
- Перейдите в Администрирование → Интеграции → Синхронизации и нажмите «Подключить» в карточке SCIM 2.0.
- Скопируйте URL (вида https://вашдомен.unspot.ru/api/scim) и токен — оба значения вы введёте в настройках IdP.
- Задайте «Срок работы токена»: «Без ограничения» или 1–24 месяца.
- При необходимости включите «Отправлять приветственные письма» — созданным через SCIM сотрудникам придёт письмо с краткой инструкцией.
Внимание: сохраните секретный токен сразу — в дальнейшем его будет невозможно получить, а любой, у кого он есть, может управлять пользователями вашего пространства. Токен показывается один раз, при создании подключения.
Шаг 2. Настройка Microsoft Entra ID (Azure AD)
Примечание: видео ниже записаны в старом интерфейсе портала Azure — названия пунктов меню могли измениться, порядок действий прежний.
- Откройте центр администрирования Microsoft Entra и создайте Enterprise application (корпоративное приложение).
- В боковом меню приложения выберите Provisioning и режим Automatic.
- В поле Tenant URL вставьте SCIM URL из UnSpot, в поле Secret token — токен, затем нажмите Test Connection и дождитесь успешной проверки.
- Сохраните настройки провижининга.
Сопоставление атрибутов
- В разделе Provision Microsoft Entra ID Groups откройте «Show advanced options» → Edit attribute list и проверьте атрибуты групп.
- В разделе Provision Microsoft Entra ID Users замените исходный атрибут mailNickname на objectId (сопоставляется с externalId в UnSpot).
Итоговый набор исходных атрибутов пользователя:
- userPrincipalName
- Switch([IsSoftDeleted], “False”, “True”, “True”, “False”)
- jobTitle
- givenName
- surname
- telephoneNumber
- objectId
- department
Область синхронизации
Синхронизировать только назначенных: назначьте приложению пользователей и группы (Users and Groups), затем в Provisioning выберите «Sync only assigned users and groups» и запустите провижининг.
Синхронизировать всех: в Provisioning выберите «Sync all users and groups», сохраните и запустите провижининг.
Шаг 2 (альтернатива). Okta и другие SCIM 2.0 IdP
С UnSpot работает любой IdP, поддерживающий SCIM 2.0 c авторизацией Bearer-токеном: Okta, OneLogin и другие. Логика одинаковая: в настройках провижининга приложения укажите SCIM URL из UnSpot в качестве базового адреса и токен в качестве Bearer-credentials, затем настройте сопоставление атрибутов (email сотрудника должен передаваться в userName) и область синхронизации. Если ваш локальный Active Directory не имеет прямого доступа к UnSpot, используйте промежуточный сервис LDAP-SCIM — см. «Связанные статьи».
Что происходит при синхронизации
- Новые пользователи из области синхронизации создаются в UnSpot (при включённом тумблере — с приветственным письмом).
- Изменения профиля (имя, должность, телефон, отдел) обновляются автоматически.
- Деактивированные или удалённые в IdP пользователи деактивируются в UnSpot.
- Группы создаются, их состав поддерживается в актуальном состоянии; организационная структура передаётся в одну сторону — из IdP в UnSpot.
Истечение токена
Карточка SCIM 2.0 показывает состояние токена: «Дата прекращения работы токена» и сколько осталось дней, либо «Бессрочно». Когда срок подходит к концу, UnSpot отправляет предупреждение — оно приходит получателям исходящей email-подписки на системные события (Администрирование → Интеграции → Исходящие подписки, событие «Предупреждение системы»). Если подписка не настроена, уведомление о токене никому не уйдёт — настройте её заранее. После истечения срока карточка показывает «Работа токена была прекращена», провижининг останавливается: создайте подключение заново и обновите токен в IdP.
Справочник SCIM API
Полное описание эндпоинтов с примерами запросов и ответов — в статье «Справочник SCIM API UnSpot». Кратко:
| Метод | Эндпоинт | Назначение |
|---|---|---|
| GET | /api/scim/Schemas | Описание SCIM-схем |
| GET / POST | /api/scim/Users | Список и создание пользователей |
| GET / PUT / PATCH / DELETE | /api/scim/Users/{id} | Чтение и изменение пользователя |
| POST | /api/scim/Users/{id}/avatar | Загрузка аватара (jpeg/png, до 100 КБ) |
| GET / POST | /api/scim/Groups | Список и создание групп |
| GET / PUT / PATCH / DELETE | /api/scim/Groups/{id} | Чтение и изменение группы |
| PUT | /api/scim/OrgUnits | Загрузка организационной структуры |
Диагностика
- Ошибка 401 — токен отсутствует, неверен или истёк. Проверьте заголовок Authorization в настройках IdP и состояние токена на карточке SCIM 2.0.
- Ошибки провижининга в Entra ID — откройте журналы провижининга в центре администрирования Entra: там видно, какой атрибут не прошёл валидацию.
- История на стороне UnSpot — раздел Аналитика → Отчеты, отчёт «История управления интеграциями»: в нём фиксируются подключения, отключения и изменения интеграций.