# Синхронизация учётных записей Раздел «Синхронизация УЗ» управляет сервисами синхронизации учётных записей с подключёнными поставщиками УЗ. Синхронизация загружает пользователей из каталога в Simple2FA, поддерживает их данные в актуальном состоянии и распределяет пользователей по группам панели, а также блокирует и помечает к удалению тех, чьи учётные записи отключены в каталоге или пропали из выборки. Для каждого поставщика УЗ создаётся отдельный сервис синхронизации со своими настройками. Один поставщик — одна конфигурация синхронизации. ## Список сервисов синхронизации ![Таблица настроенных сервисов синхронизации](../assets/img/account-sync/sinhronizacziya-uz-tablicza.png) На странице раздела отображается таблица настроенных сервисов синхронизации: - **Поставщик учётных записей** — название и тип поставщика, для которого настроена синхронизация; - **Активен** — признак того, что сервис синхронизации включён. Для перехода к настройкам сервиса нажмите на название поставщика. Чтобы настроить синхронизацию для нового поставщика, нажмите кнопку **«+ Добавить»**. ## Настройка сервиса синхронизации ### Управление сервисом синхронизации ![Выбор поставщика и включение сервиса синхронизации](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-upravlenie-servisom-sinhronizaczii.png) - **Поставщик учётных записей** — поставщик УЗ, с которым будет выполняться синхронизация. Для выбора доступны только те поставщики, для которых синхронизация ещё не настроена. По значку просмотра рядом с полем можно перейти к настройкам выбранного поставщика; - **Активен** — включает сервис синхронизации с каталогом. Неактивный сервис сохраняет настройки, но синхронизация по нему не выполняется. ### Настройки сервиса ![Интервал синхронизации и таймаут запроса к каталогу](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-nastrojki-servisa.png) - **Интервал синхронизации (мин)** — период автоматической синхронизации пользователей. Значение `0` отключает автоматический запуск: синхронизация будет выполняться только вручную, кнопкой «Синхронизировать»; - **Таймаут запроса к каталогу (сек)** — максимальное время ожидания ответа каталога при синхронизации. Значение по умолчанию — 30. Увеличьте значение, если каталог большой и запросы не успевают выполниться. Количество учётных записей, обрабатываемых за одну итерацию, задаётся параметром «Размер батча синхронизации УЗ» в разделе [«Глобальные настройки»](global-settings.md). ### Правила реакции на отключённые и отсутствующие учётные записи ![Правила реакции на отключённые и отсутствующие учётные записи](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-pravila-reakczii.png) Правила определяют, что 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, синхронизация её не создаёт — при любом правиле. Когда учётную запись включат в каталоге, пользователь будет создан обычным порядком. **Удаление.** Удалённый пользователь теряет настроенные способы подтверждения, привязку аппаратных токенов и членство в группах; удаление передаётся в облако. Если учётная запись была отключена в каталоге, при попытке входа пользователь получает отказ, а не пропуск без второго фактора, — даже при включённой настройке пропуска неизвестных пользователей. **Умолчания и обновление.** У нового сервиса синхронизации правила по умолчанию реагирующие («Блокировать и пометить к удалению», «Помечать к удалению»), автоудаление выключено. У сервисов, созданных до появления этих правил, после обновления стоит «Не реагировать» в обоих правилах — ничего не меняется, пока вы не включите правила сами. !!! tip "Сначала пометки, потом автоудаление" Перед тем как включить автоудаление, поработайте несколько синхронизаций только с пометками и посмотрите вкладку [«Кандидаты на удаление»](#кандидаты-на-удаление): так станет видно, правильно ли настроены фильтр выборки и атрибут статуса. Удаление необратимо — пользователям придётся настраивать второй фактор заново. **Лицензии.** Заблокированные пользователи и кандидаты на удаление занимают лицензию, пока их не удалят. ### Маппинг атрибутов LDAP ![Сопоставление атрибутов пользователя в каталоге LDAP](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-mapping-atributov-ldap.png) Блок отображается для поставщиков типа 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](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-mapping-atributov-keycloak.png) Блок отображается для поставщиков типа 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 для новых пользователей ![Отправка ссылки на настройку второго фактора новым пользователям](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-nastrojka-2fa-dlya-novyh-polzovatelej.png) - **Отправлять ссылку настройки 2FA новым пользователям** — при включённой опции пользователям, созданным в ходе синхронизации, автоматически отправляется ссылка на мастер настройки (визард) привязки второго фактора; - **Время жизни ссылки (мин)** — срок действия отправляемой ссылки. Значение по умолчанию — 15. По истечении срока ссылка становится недействительной, и её потребуется сформировать заново. ### Сопоставление групп пользователей ![Таблица сопоставления групп каталога с группами панели](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-sopostavlenie-grupp-polzovatelej.png) Таблица маппинга определяет, в какую группу панели попадают синхронизируемые пользователи в зависимости от их членства в группах каталога: - **Группы каталога** — одна или несколько групп каталога через `;`; - **Группа в панели** — [группа Simple2FA](user-groups.md), в которую попадают пользователи из указанных групп каталога. Если для пользователя не найдено ни одного сопоставления, он попадает в группу панели по умолчанию («Default group»). При повторной синхронизации группы существующих пользователей обновляются по текущему маппингу — изменения членства в каталоге и правки таблицы сопоставления применяются к уже синхронизированным пользователям. Строки маппинга добавляются кнопкой **+** и удаляются кнопкой **×**. ## Ручная синхронизация ![Кнопка «Синхронизировать»](../assets/img/account-sync/sinhronizacziya-uz-dobavlenie-sinhronizirovat.png) Кнопка **«Синхронизировать»** запускает синхронизацию с каталогом немедленно, не дожидаясь автоматического запуска по интервалу. Используйте её после первичной настройки сервиса, а также когда нужно сразу подтянуть изменения из каталога — например, после заведения новых сотрудников. В уведомлении о завершении ручной синхронизации показывается и число новых кандидатов на удаление. ## Кандидаты на удаление Пользователи, помеченные [правилами](#правила-реакции-на-отключённые-и-отсутствующие-учётные-записи), собираются на вкладке «Кандидаты на удаление» в разделе «Пользователи». Когда появляются новые кандидаты, администраторам с правом просмотра пользователей приходит уведомление «Кандидаты на удаление». Подробнее — в статье [«Пользователи»](users.md#кандидаты-на-удаление). ## Смотрите также - [Поставщики учётных записей](account-providers.md) - [Группы пользователей](user-groups.md) - [Пользователи](users.md)