Синхронизация учётных записей
Раздел «Синхронизация УЗ» управляет сервисами синхронизации учётных записей с подключёнными поставщиками УЗ. Синхронизация загружает пользователей из каталога в Simple2FA, поддерживает их данные в актуальном состоянии и распределяет пользователей по группам панели, а также блокирует и помечает к удалению тех, чьи учётные записи отключены в каталоге или пропали из выборки.
Для каждого поставщика УЗ создаётся отдельный сервис синхронизации со своими настройками. Один поставщик — одна конфигурация синхронизации.
Список сервисов синхронизации

На странице раздела отображается таблица настроенных сервисов синхронизации:
- Поставщик учётных записей — название и тип поставщика, для которого настроена синхронизация;
- Активен — признак того, что сервис синхронизации включён.
Для перехода к настройкам сервиса нажмите на название поставщика. Чтобы настроить синхронизацию для нового поставщика, нажмите кнопку «+ Добавить».
Настройка сервиса синхронизации
Управление сервисом синхронизации

- Поставщик учётных записей — поставщик УЗ, с которым будет выполняться синхронизация. Для выбора доступны только те поставщики, для которых синхронизация ещё не настроена. По значку просмотра рядом с полем можно перейти к настройкам выбранного поставщика;
- Активен — включает сервис синхронизации с каталогом. Неактивный сервис сохраняет настройки, но синхронизация по нему не выполняется.
Настройки сервиса

- Интервал синхронизации (мин) — период автоматической синхронизации пользователей. Значение
0отключает автоматический запуск: синхронизация будет выполняться только вручную, кнопкой «Синхронизировать»; - Таймаут запроса к каталогу (сек) — максимальное время ожидания ответа каталога при синхронизации. Значение по умолчанию — 30. Увеличьте значение, если каталог большой и запросы не успевают выполниться.
Количество учётных записей, обрабатываемых за одну итерацию, задаётся параметром «Размер батча синхронизации УЗ» в разделе «Глобальные настройки».
Правила реакции на отключённые и отсутствующие учётные записи

Правила определяют, что Simple2FA делает с пользователем, когда его учётная запись отключена в каталоге или пропала из выборки синхронизации. Правила срабатывают после каждой синхронизации — и по расписанию, и при ручном запуске.
К кому применяются правила. Ко всем пользователям, которых синхронизация нашла в выгрузке этого каталога, — в том числе к созданным вручную, импортом и при входе. Найденный пользователь привязывается к этой синхронизации автоматически и остаётся привязанным, даже если потом пропадёт из каталога. Пользователи, которых нет ни в одной выгрузке (например, локальные учётные записи на сетевом оборудовании), правилами не затрагиваются.
Как определяется, что учётная запись отключена. По полю «Атрибут статуса блокировки» (LDAP) или «Атрибут статуса» (Keycloak) в блоке маппинга атрибутов:
| Каталог | Атрибут | Отключена, если |
|---|---|---|
| Active Directory, Samba | userAccountControl |
установлен бит ACCOUNTDISABLE (0x2) |
| FreeIPA, ALD Pro | nsAccountLock |
значение TRUE |
| Keycloak | enabled |
значение false |
Временная блокировка после неверных паролей и истёкший срок действия учётной записи отключением не считаются.
Поля блока:
- При отключении в каталоге:
- Не реагировать — пользователь остаётся как есть;
- Блокировать и пометить к удалению — пользователь блокируется в Simple2FA (вход отклоняется, активные сессии SSO завершаются) и попадает в кандидаты на удаление с причиной «Отключён в каталоге». Если учётную запись снова включить в каталоге, ближайшая синхронизация сама снимет блокировку и пометку.
- При отсутствии в выборке:
- Не реагировать;
- Помечать к удалению — пользователь, которого нет в выгрузке, попадает в кандидаты с причиной «Отсутствует в выборке». Вход при этом не блокируется: пользователь мог уйти из выборки из-за правки фильтра или переноса в другое подразделение. Если он вернётся в выборку, пометка снимется сама.
- Порог массового отсутствия, % — защита от ошибки в настройке каталога. Если за одну синхронизацию из выборки исчезло больше этой доли пользователей и не меньше 5 человек, пометки «Отсутствует в выборке» не ставятся, а администраторам приходит уведомление «Похоже на ошибку каталога». Если выборка пустая, пометки не ставятся никогда. Значение по умолчанию — 10;
100выключает защиту. Поле видно при правиле «Помечать к удалению»; - Разово пометить отсутствующих, несмотря на порог — для случая, когда пользователи действительно убраны из выборки (например, после переноса OU), а порог не дал их пометить. Отметьте флажок и сохраните: следующая синхронизация поставит пометку всем, кого нет в выборке, и сама снимет флажок;
- Удалять автоматически — удалять кандидатов с причиной «Отключён в каталоге» через заданный срок. Кандидатов «Отсутствует в выборке» и отмеченных «Оставить» автоудаление не трогает никогда. По умолчанию выключено;
- Срок до удаления (дней) — отсчитывается от даты пометки. Значение по умолчанию — 30, минимум — 1.
Что будет с пользователем:
| Ситуация | «Не реагировать» | Реагирующее правило |
|---|---|---|
| Учётная запись отключена в каталоге | Без изменений | Заблокирован, кандидат «Отключён в каталоге»; при включённом автоудалении — удалён через заданный срок |
| Пропал из выборки | Без изменений | Кандидат «Отсутствует в выборке», вход работает, автоматически не удаляется |
| За одну синхронизацию пропало больше порога | Без изменений | Пометок нет, администраторам приходит уведомление |
| Снова включён или вернулся в выборку | — | Пометка и блокировка сняты автоматически |
| Отмечен «Оставить» | — | Автоматически не удаляется; при возврате в каталог отметка снимается |
| Каталог недоступен (таймаут, ошибка входа сервисной учётной записи) | Без изменений | Без изменений: синхронизация пропускается, правила не применяются |
Сбой связи с каталогом никого не блокирует и не помечает: пока синхронизация не получила выгрузку, правила не срабатывают.
Отключённые учётные записи не создаются. Если в выгрузке есть отключённая учётная запись, которой ещё нет в Simple2FA, синхронизация её не создаёт — при любом правиле. Когда учётную запись включат в каталоге, пользователь будет создан обычным порядком.
Удаление. Удалённый пользователь теряет настроенные способы подтверждения, привязку аппаратных токенов и членство в группах; удаление передаётся в облако. Если учётная запись была отключена в каталоге, при попытке входа пользователь получает отказ, а не пропуск без второго фактора, — даже при включённой настройке пропуска неизвестных пользователей.
Умолчания и обновление. У нового сервиса синхронизации правила по умолчанию реагирующие («Блокировать и пометить к удалению», «Помечать к удалению»), автоудаление выключено. У сервисов, созданных до появления этих правил, после обновления стоит «Не реагировать» в обоих правилах — ничего не меняется, пока вы не включите правила сами.
Сначала пометки, потом автоудаление
Перед тем как включить автоудаление, поработайте несколько синхронизаций только с пометками и посмотрите вкладку «Кандидаты на удаление»: так станет видно, правильно ли настроены фильтр выборки и атрибут статуса. Удаление необратимо — пользователям придётся настраивать второй фактор заново.
Лицензии. Заблокированные пользователи и кандидаты на удаление занимают лицензию, пока их не удалят.
Маппинг атрибутов LDAP

Блок отображается для поставщиков типа LDAP и определяет, из каких LDAP-атрибутов считываются данные пользователей. При создании сервиса синхронизации для поставщика FreeIPA или ALD Pro значения для этих каталогов подставляются автоматически.
- Атрибут идентификации — атрибут, из которого берётся логин пользователя. Значение по умолчанию —
sAMAccountName(Active Directory, Samba), для FreeIPA и ALD Pro —uid; - Атрибут имени — атрибут с отображаемым именем пользователя. Значение по умолчанию —
displayName(Active Directory, Samba), для FreeIPA и ALD Pro —cn; - Атрибуты почты — атрибуты, из которых считывается адрес электронной почты. Можно указать один или несколько атрибутов через
;— используется первый заполненный. Значение по умолчанию —mail; - Атрибуты групп LDAP — атрибуты, из которых считывается членство пользователя в группах каталога. Можно указать один или несколько атрибутов через
;. Значение по умолчанию —memberOf; - Атрибут статуса блокировки — атрибут, по которому определяется, что учётная запись отключена. Значение по умолчанию —
userAccountControl(Active Directory, Samba), для FreeIPA и ALD Pro —nsAccountLock. Другие значения не поддерживаются: при сохранении панель предупредит, что атрибут не распознаётся, и отключённые учётные записи будут считаться активными.
Маппинг атрибутов Keycloak

Блок отображается для поставщиков типа Keycloak:
- Endpoint списка пользователей Keycloak — путь REST-эндпоинта Keycloak для получения списка пользователей. Можно использовать шаблон
/admin/realms/{realm}/users—{realm}подставляется автоматически; - Атрибут логина Keycloak — поле, из которого берётся логин пользователя. Значение по умолчанию —
username; - Атрибут имени Keycloak — поле с именем пользователя. Значение по умолчанию —
firstName; - Атрибуты почты Keycloak — поля с адресом электронной почты, одно или несколько через
;. Значение по умолчанию —email; - Атрибуты групп Keycloak — поля с членством пользователя в группах, одно или несколько через
;. Значение по умолчанию —name; - Атрибут статуса — поле, по которому определяется, что учётная запись отключена. Значение по умолчанию —
enabled: учётная запись считается отключённой, если оно равноfalse. Можно указать свой атрибут-признак блокировки — тогда учётная запись считается отключённой, если его значениеtrue,yesили1. Обратите внимание: смысл такого атрибута обратныйenabled.
Настройка 2FA для новых пользователей

- Отправлять ссылку настройки 2FA новым пользователям — при включённой опции пользователям, созданным в ходе синхронизации, автоматически отправляется ссылка на мастер настройки (визард) привязки второго фактора;
- Время жизни ссылки (мин) — срок действия отправляемой ссылки. Значение по умолчанию — 15. По истечении срока ссылка становится недействительной, и её потребуется сформировать заново.
Сопоставление групп пользователей

Таблица маппинга определяет, в какую группу панели попадают синхронизируемые пользователи в зависимости от их членства в группах каталога:
- Группы каталога — одна или несколько групп каталога через
;; - Группа в панели — группа Simple2FA, в которую попадают пользователи из указанных групп каталога.
Если для пользователя не найдено ни одного сопоставления, он попадает в группу панели по умолчанию («Default group»). При повторной синхронизации группы существующих пользователей обновляются по текущему маппингу — изменения членства в каталоге и правки таблицы сопоставления применяются к уже синхронизированным пользователям.
Строки маппинга добавляются кнопкой + и удаляются кнопкой ×.
Ручная синхронизация

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