Общие сведения

В системе существует механизм синхронизации групп и пользователей с Active Directory с определенной периодичностью.

Условия применения

  1. В системе должна быть включена аутентификация по LDAP.
  2. На стороне Active Directory должен быть создан сервисный пользователь для осуществления синхронизации. Сервисный пользователь должен находиться в дочернем подразделении организационной единицы, группы которой синхронизируются (OU=child в конфигурации active_directory_base_dn).
  3. На стороне 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".

Синхронизация 

С заданной в конфигурационном файле периодичностью Polymatica Dashboards TN отправляет LDAP-запрос к серверу AD для извлечения данных о группах. Запрашиваемые атрибуты:

  • уникальный идентификатор группы (GUID);
  • наименование группы в AD;
  • перечень пользователей групп:
    • уникальный идентификатор группы пользователя (GUID);
    • логин;
    • ФИО;
    • email.

Группы

Система получает список групп пользователей и перечень пользователей в этих группах, сверяет их GUID и наименование с имеющимися группами, и, в зависимости от текущего состояния перечня групп:

  • создает новые группы и включает в них пользователей;
  • обновляет имеющиеся группы из AD, обновляет список пользователей, при необходимости осуществляет переименование группы;
  • блокирует любые действия с группами, удаленными из AD. Группы блокируются, а не удаляются, так как состоящие в них пользователи могут иметь права доступа к сущностям приложения.


Список групп пользователей после синхронизации с AD

Группы, автоматически созданные при синхронизации с Active Directory, помечаются бейджем . Иконка группы показывает ее статус:

  •   - группа успешно синхронизирована;
  • - группа заблокирована, для нее голубой бейдж AD изменяется на серый 
  •   - произошла ошибка синхронизации группы.

При блокировке группы или ошибке синхронизации группы всем пользователям с правами на редактирование групп (включая суперпользователей) поступают уведомления.


Уведомления механизма синхронизации с Active Directory

Пользователи в группах

Система получает информацию о пользователях групп в LDAP-запросе к Active Directory и сверяет их GUID с имеющимися GUID пользователей системы. После этого система проводит актуализацию списка пользователей в группах по следующим принципам:

  • Для пользователей AD, чьи GUID пользователя отсутствуют в Polymatica Dashboards TN, система проверяет наличие пользователя с таким логином и/или e-mail:
    • Если у пользователя совпадает логин или e-mail:
      • Логин, ФИО и/или e-mail не обновляются;
      • Пользователь добавляется в новые группы, в которых он состоит в AD (старые остаются).
    • Если пользователь с таким логином и/или email отсутствует в системе:
      • Пользователь создается с полученными данными;
      • Пользователь добавляется в автоматически созданные группы, в которых он состоит в AD.
  • Для пользователей 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, кроме заблокированных групп и пользователей заблокированных групп.

Заблокированные группы и пользователи из заблокированных групп сохраняют права к сущностям, которые они имели до блокировки. Однако, после удаления заблокированной группы/пользователей из нее из прав доступа к сущности, восстановить их нельзя. 



  • Нет меток