Общие сведения
В системе существует механизм синхронизации групп и пользователей с Active Directory с определенной периодичностью.
Условия применения
- В системе должна быть включена аутентификация по LDAP.
- На стороне Active Directory должен быть создан сервисный пользователь для осуществления синхронизации. Сервисный пользователь должен находиться в дочернем подразделении организационной единицы, группы которой синхронизируются (OU=child в конфигурации active_directory_base_dn).
- На стороне Polymatica Dashboards должен быть задан блок параметров конфигурации для осуществления синхронизации, подробнее см. Руководство администратора Dashboards TN для вашей версии → Параметры конфигурации → Параметры синхронизации пользователей и групп с Active Directory.
Фильтрация групп
Перед стартом синхронизации администратор может настроить фильтр синхронизируемых групп на уровне файла конфигурации. Для этого предварительно должен быть задан параметр POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GROUP_CLASS
, например, "group"
, чтобы поиск групп производился.
Фильтрация групп может быть настроена двумя способами:
- Белый список - параметр
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GLOBAL_GROUP_NAME = "group1,group2,group3".
Если заполнен значениями, синхронизироваться будут только группы, принадлежащие кPOLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GROUP_CLASS
и содержащиеся в данном списке. Названия групп указываются через запятую, без пробелов. - Фильтр по маске - параметр
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GROUP_FILTER
. Маска формируется по принципу "содержит". Примеры регулярных выражений для маски:- (|(name=FilterTest) - будет синхронизироваться группа, принадлежащая к
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GROUP_CLASS
и содержащая в названии "FilterTest". - (|(name=Users)(name=FilterTest)) - будут синхронизироваться группы, принадлежащие к
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GROUP_CLASS
и содержащие в названии "Users" ИЛИ содержащие в названии "FilterTest". - (|(name=*Admin) - будут синхронизироваться группы, принадлежащие к
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_GROUP_CLASS
и содержащие в названии любые символы + "Admin", например, "BaseAdmin", "SuperAdmin".
- (|(name=FilterTest) - будет синхронизироваться группа, принадлежащая к
Синхронизация
С заданной в конфигурационном файле периодичностью Polymatica Dashboards TN отправляет LDAP-запрос к серверу AD для извлечения данных о группах. Запрашиваемые атрибуты:
- уникальный идентификатор группы (GUID);
- наименование группы в AD;
- перечень пользователей групп:
- уникальный идентификатор группы пользователя (GUID);
- логин;
- ФИО;
- email.
Группы
Система получает список групп пользователей и перечень пользователей в этих группах, сверяет их GUID и наименование с имеющимися группами, и, в зависимости от текущего состояния перечня групп:
- создает новые группы и включает в них пользователей;
- обновляет имеющиеся группы из AD, обновляет список пользователей, при необходимости осуществляет переименование группы;
- блокирует любые действия с группами, удаленными из AD. Группы блокируются, а не удаляются, так как состоящие в них пользователи могут иметь права доступа к сущностям приложения.
Группы, автоматически созданные при синхронизации с Active Directory, помечаются бейджем
. Иконка группы показывает ее статус:- - группа успешно синхронизирована;
- - группа заблокирована, для нее голубой бейдж AD изменяется на серый
- - произошла ошибка синхронизации группы.
При блокировке группы или ошибке синхронизации группы всем пользователям с правами на редактирование групп (включая суперпользователей) поступают уведомления.
Пользователи в группах
Система получает информацию о пользователях групп в LDAP-запросе к Active Directory и сверяет их GUID с имеющимися GUID пользователей системы. После этого система проводит актуализацию списка пользователей в группах по следующим принципам:
- Для пользователей AD, чьи GUID пользователя отсутствуют в Polymatica Dashboards TN, система проверяет наличие пользователя с таким логином и/или e-mail:
- Если у пользователя совпадает логин или e-mail:
- Логин, ФИО и/или e-mail не обновляются;
- Пользователь добавляется в новые группы, в которых он состоит в AD (старые остаются).
- Если пользователь с таким логином и/или email отсутствует в системе:
- Пользователь создается с полученными данными;
- Пользователь добавляется в автоматически созданные группы, в которых он состоит в AD.
- Если у пользователя совпадает логин или e-mail:
- Для пользователей AD, чьи GUID пользователя присутствуют в Polymatica Dashboards TN:
- Актуализируются личные данные: логин, ФИО, e-mail;
- Пользователь добавляется в новые группы, в которых он состоит в AD (старые остаются);
- Если актуализация невозможна (новые логин, ФИО и/или e-mail уже есть в системе и принадлежат пользователю без GUID или с другим GUID):
- Логин, ФИО и/или e-mail не обновляются.
- Пользователь добавляется в новые группы, в которых он состоит в AD (старые остаются).
Действия с синхронизированными группами
Редактирование
Для редактирования доступны синхронизированные группы в любых статусах: "Синхронизировано", "Заблокировано", "Ошибка синхронизации".
Редактирование группы не приводит к потере синхронизации с Active Directory, так как синхронизация осуществляется по GUID.
В окне доступны следующие поля и параметры:
- Название - редактируемое обязательное поле, наименование группы.
- Статус: нет статуса, "Группа заблокирована" или "Ошибка синхронизации", сооответственно;
- Название в провайдере - нередактируемое название группы в Active Directory, может быть скопировано нажатием на кнопку ;
- Описание - редактируемое необязательное описание группы;
- Пользователи - нередактируемый список пользователей, добавленных в группу, формируется при синхронизации.
При изменении названия группы и последующей синхронизации:
- Polymatica Dashboards TN проверяет существуют ли в системе группа с GUID, совпадающим с GUID переименованной группы.
- Если такая группа существует, то система:
- не изменяет новое наименование группы
- заменяет значение поля "Название в провайдере" новым значением;
- актуализирует дату редактирования группы.
Администратор не может добавить пользователя в список пользователей, но может удалить нажатием на . В заблокированной группе администратор не может удалять пользователей.
Удаление группы
При синхронизации удаленные группы из AD блокируются. Полное удаление группы может выполнить администратор через меню действий с группой. При удалении выводится сообщение о том, что группа была создана автоматически, и все доступы будут утеряны.
Добавление прав доступа к сущностям
Права доступа к сущностям приложения могут быть присвоены любым группам и/или пользователям из Active Directory, кроме заблокированных групп и пользователей заблокированных групп.
Заблокированные группы и пользователи из заблокированных групп сохраняют права к сущностям, которые они имели до блокировки. Однако, после удаления заблокированной группы/пользователей из нее из прав доступа к сущности, восстановить их нельзя.