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

Polymatica Dashboards поддерживает провайдинг аутентификации через протокол LDAP.

Для поиска авторизуемого пользователя в Active Directory используется следующий алгоритм:

  1. Из пути POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_BASE_DN находится сервисный пользователь POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVICE_USER_LOGIN, происходит авторизация;
  2. Выполняется поиск авторизуемого пользователя в POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_BASE_DN и подпапках;
  3. Далее стандартный поток: пользователь найден →  авторизация; пользователь не найден → ошибка.


Сервисный пользователь в POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_BASE_DN должен быть заведен вручную системным администратором сервиса LDAP/AD.

Параметры метода

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

ПараметрНазначениеПринимаемые значенияЗначение по умолчанию
POLYMATICA_CORE_AUTH_METHOD_LDAP_ACTIVE
Включение метода аутентификации LDAPБулевоfalse
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVER
Адрес провайдера аутентификации LDAP*Строка
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_PORT
Порт провайдера аутентификации LDAP*Целое число
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_BASE_DN
Домен или организационная единица, где следует искать запись каталогаСтрока
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_LOGIN_KEY
Атрибут записи каталога, значение которого следует ассоциировать с логином, указанным для аутентификации
  • cn;
  • uid
uid
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVICE_USER_LOGIN
Логин сервисного пользователя Active DirectoryСтрока
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVICE_USER_PASSWORD
Пароль сервисного  пользователя Active DirectoryСтрока

Примеры конфигураций

Для docker-compose.yml:

POLYMATICA_CORE_AUTH_METHOD_LDAP_ACTIVE=true
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVER=dashboards.example.com
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_PORT=389
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_BASE_DN=ou=users,dc=access,dc=polymatica,dc=ru
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_LOGIN_KEY=cn
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVICE_USER_LOGIN=service
POLYMATICA_CORE_AUTH_ACTIVE_DIRECTORY_SERVICE_USER_PASSWORD=123456

Для config.json:

{
   "auth": {
        "method_ldap_active": true,
        "active_directory_server": "dashboards.example.com",
        "active_directory_port": 389,
        "active_directory_base_dn": "ou=users,dc=access,dc=polymatica,dc=ru",
        "active_directory_login_key": "cn",
        "active_directory_group_class": "group".
        "active_directory_service_user_login": "service",
        "active_directory_service_user_password": "123456"
    }
}

Настройка атрибутов пользователя в Active Directory

Атрибут пользователя — это параметр, описывающий конкретное свойство пользователя в системе. Атрибуты используются для идентификации, классификации, персонализации и управления взаимодействием с пользователем. В Polymatica Dashboards атрибуты используются в атрибутивных правилах для быстрой настройки доступа к данным датасета. Атрибуты в системе делятся на автоматически синхронизируемые атрибуты и атрибуты с ручной настройкой. Автосинхронизируемые атрибуты связаны с ключом IAM, передаваемым в токене пользователя при авторизации через IAM-провайдера. Подробнее о работе атрибутов в системе см. в руководстве пользователя в разделах "Пользователи" - "Создание пользователя" и "Датасеты" - "Настройка датасета" - "Функции рабочей области" - "Ограничение данных".

Для создания автоатрибута в Active Directory нужно выполнить следующее:

1. Запустить Консоль управления Microsoft "MMC.exe" в командной строке Windows.

2. Выбрать "Файл", в выпадающем списке выбрать опцию "Открыть", затем в открывшемся окне выбрать файл консоли управления и нажать на кнопку "Открыть":


Выбор файла консоли управления


3. Открыть папку "Атрибуты":


Выбор папки "Атрибуты"


4. В правой части окна выбрать "Дополнительные действия", а затем из выпадающего списка выбрать опцию "Создать атрибут". В открывшемся модальном окне нажать на кнопку "Продолжить": 


Окно предупреждения перед созданием атрибута


Откроется окно создания атрибута:


Окно создания атрибута


5. Заполнить следующие поля и настроить параметры в окне создания атрибута:

  • Общее имя. Уникальное имя атрибута. 
  • Выводимое имя LDAP. Уникальное имя атрибута, которое будет выводиться в в качестве имени атрибута в Active Directory, а также должно совпадать со значением IAM-ключа атрибута в Polymatica Dashboards. Значение формируется автоматически на основе значения, введенного в поле "Общее имя", но может быть изменено вручную.
  • X500-код объекта. Уникальный идентификатор создаваемого атрибута (содержит обязательный префикс, принятый в вашей организации).
  • Синтаксис. Нужно выбрать из выпадающего списка значение, соответствующее типу значений, которые будут добавляться для атрибута конкретным пользователям. 

Внимание! Изменить тип значений атрибута позднее будет нельзя!

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


Пример заполнения полей в окне создания атрибута. Символ нижнего подчеркивания, введенный в поле "Общее имя" был автоматически удален в поле "Выводимое имя LDAP", следующий за нижним подчеркиванием символ автоматически переведен в верхний регистр. В качестве значений атрибута будут добавляться строковые значения с учетом регистра

После заполнения полей нажать на кнопку "ОК".

6. В левой части экрана выбрать папку "Классы":


Выбор папки "Классы"


7. Внутри папки "Классы" найти строку c классом "user", нажать на нее правой кнопкой мыши и в выпадающем меню выбрать опцию "Свойства":

Выбор класса "user"


8. В открывшемся окне перейти на вкладку "Атрибуты" и нажать на кнопку "Добавить":


Вкладка "Атрибуты" в окне свойств класса "user"


9. В списке найти атрибут, созданный на шаге 5, и нажать на кнопку "ОК":


В списке в качестве имени для каждого атрибута отображается значение из поля "Выводимое имя LDAP" в окне создания атрибута


10. Последовательно нажать на кнопки "Применить" и "ОК" на вкладке "Атрибуты". 

11. После изменения схемы атрибут может стать доступен не сразу. Если атрибут не появляется в Active Directory, можно:

  • закрыть и заново открыть окно "Active Directory - Пользователи и компьютеры";
  • или закрыть окно "Active Directory - Пользователи и компьютеры" и в консоли запустить следующие команды, после чего заново открыть окно:
$rootDSE = [ADSI]"LDAP://<Подставить домен Schema Master>/RootDSE"
>> $rootDSE.Put("schemaUpdateNow", 1)
>> $rootDSE.SetInfo()


Для добавления значений атрибута конкретному пользователю нужно выполнить следующее:

1. Открыть "Active Directory - Пользователи и компьютеры" и выбрать пользователя, к учетной записи которого требуется привязать атрибут, присвоив конкретные значения атрибута. Нажать на строку с именем пользователя правой кнопкой мыши и в выпадающем меню выбрать "Свойства".

2. В окне свойств пользователя перейти на вкладку "Редактор атрибутов":


Окно свойств пользователя "test_attr" открыто на вкладке "Редактор атрибутов"


3. Выбрать атрибут и нажать на кнопку "Изменить".

4. В открывшемся окне задать значения для атрибута.

  • Для многозначного атрибута нужно добавить каждое значение в поле "Добавляемое значение" и нажать на кнопку "Добавить":


Добавление значений многозначного атрибута пользователю


Когда все требуемые значения появятся в списке в поле "Значения", нужно нажать на кнопку "ОК".


  • Для атрибута без поддержки многозначности нужно ввести значение в поле "Значение" и нажать на кнопку "ОК":


Добавление одного значения атрибута пользователю



Значения атрибута появятся на вкладке "Редактор атрибутов" в окне свойств пользователя:


Значения атрибута добавлены пользователю


5. Последовательно нажать на кнопки "Применить" и "ОК" на вкладке "Редактор атрибутов" в окне свойств пользователя. 


  • Нет меток