You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

ExeReport использует ролевую модель доступа, т.е. объекты полномочий в ПО группируются определенным образом образовывая роли, которые в свою очередь ассоциируются с группами пользователей.

Для управления правами доступа к ПО ExeReport используется ПО Keycloak. Конфигурация параметров для управления правами доступа к ПО ExeReport размещена в отдельном преднастроенном realm «exemes». Для работы с конфигурацией необходимо запустить административную web консоль Keycloak (URL для обращения конфигурируется при инсталляции Keycloak) и открыть realm «exemes».

Для конфигурации прав доступа к ПО ExeReport необходимо:

  1. Создать группы пользователей.

    Для создания группы пользователей необходимо перейти на вкладку «Groups» в консоли Keycloak и нажать кнопку «Create group», после чего в открывшемся всплывающем окне указать название группы. Предпочтительно указывать названия групп пользователей латинскими буквами.

  2. Назначить группам пользователей роли.

    В Keycloak предусмотрено 2 типа ролей: роли realm (глобальные) и роли клиента (роли конкретного приложения). Для настройки прав доступа к ExeReport необходимо назначить группе пользователей роли клиента ExeReport.

    Изменять настройки глобальный ролей realm не требуется и не рекомендуется.

    Для ПО ExeReport в realm настроен клиент exereport.

    Для ExeReport предусмотрено две роли:

    • MR – роль с правами управления отчетами, настройки прав доступа к отчетам и настройки строк подключения к БД;
    • VR – роль с правами просмотра и экспорта отчетов.

    Роли клиента Keycloak управляют глобальными разрешениями сервера отчетов. Для тонкой настройки прав доступа необходимо настроить права доступа к отчетам.

    Для назначения роли группе пользователей необходимо открыть страницу с группами пользователей (пункт главного меню «Groups»), выбрать в списке групп пользователей необходимую группу, перейти на вкладку «Role mapping» и нажать кнопку «Assign role», после чего в открывшемся всплывающем окне отметить роли, с которыми необходимо ассоциировать группу пользователей.

    По умолчанию в окне отображаются роли realm, для отображения ролей клиентов необходимо переключить тип фильтра на «Filter by clients». В окне отобразятся только те роли, которые еще не ассоциированы для этой группы, рядом с каждой ролью будет указан клиент, к которому она относится. Для удобства навигации можно воспользоваться фильтром по имени роли (ввести в поле «Search by role name» полное или часть имени роли).

  3. Добавить пользователей в группы. Все пользователи, добавленные в группу, будут автоматически получать роли, ассоциированные с данной группой. Если пользователь включен в несколько групп, его полномочия будут определены в соответствии с полномочиями всех ролей, которые были ему ассоциированы.

     Для создания пользователя в Keycloak необходимо на странице с пользователями (пункт главного меню «Users») нажать кнопку «Add User», после чего в открывшемся всплывающем окне указать данные пользователя, такие как имя, фамилия, электронная почта и пароль.

    Чтобы добавить пользователя в группу необходимо нажать на кнопку «Join Groups» и в открывшемся всплывающем окне выбрать группы, в которые необходимо включить пользователя.

    Для завершения процесса создания пользователя необходимо нажать на кнопку «Create».

    Для вновь созданного пользователя необходимо задать пароль. Для этого на странице с пользователями (пункт главного меню «Users») необходимо выбрать пользователя, перейти на вкладку «Credentials» и нажать кнопку «Set password», после чего в открывшемся всплывающем окне задать временный или постоянный пароль для пользователя (регулируется переключателем Temporary: если он включен – пароль временный, если выключен  - постоянный). Временный пароль пользователь должен будет сменить при первом входе. Для завершения процесса задания пароля необходимо нажать на кнопку «Save», после чего подтвердить действие нажав на кнопку «Save password».

Управление доступом к ExeMES
Keycloak предоставляет возможность импортировать пользователей из внешних источников данных: т.е. группы и пользователи могут быть импортированы из Active Directory, что обеспечит сквозную аутентификацию в ExeMES для пользователей корпоративного домена.

Для настройки синхронизации с  Active Directory (AD) необходимо открыть окно с настройками федераций (пункт главного меню «User federation») консоли. Keycloak, нажать на кнопку «Add Ldap providers», после чего в открывшемся окне указать параметры подключения к LDAP провайдеру:

  • в разделе General Options задаются общие параметры:
    • Console display name - имя подключения (возможно указать произвольный текст);
    • Vendor – тип провайдера, необходимо выбрать из выпадающего списка «Active Directory»;

  • в разделе Connection and authentication settings задаются параметры для подключения к серверу AD (параметры подключения зависят от настроек вашего корпоративного домена):
    • Connection URL – адрес для подключения к AD в формате: ldap://IP-адрес домена;
    • Enable StartTLS – флаг, обозначающий необходимость шифрования подключения к LDAP с помощью StartTLS, по умолчанию устанавливается в «off»;
    • Use Truststore SPI – параметр, обозначающий будет ли соединение использовать SPI хранилище доверенных сертификатов (глобальное хранилище ключей Keycloak), по умолчанию устанавливается значение «Never»;
    • Connection pooling – флаг, обозначающий необходимо ли использовать пул (кэш) соединений вместо установки нового соединения при каждом запросе, по умолчанию устанавливается в «off»;
    • Connection timeout – таймаут для соединения в миллисекундах, по умолчанию параметр остается пустым.

После задания настроек необходимо проверить подключение нажав на кнопку «Test connection». При успешном подключении в правом верхнем углу появится надпись «Successfully connected to LDAP»

 

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

    • Bind type – тип метода аутентификации, по умолчанию устанавливается значение «simple»;
    • Bind DN – доменная учетная запись в формате [имя домена]\[логин], с которой необходимо авторизоваться в домене, учетная запись должна обладать правами администратора домена;
    • Bind credentials - пароль от учетной записи, указанной в параметре «Bind DN».

После задания настроек необходимо проверить прохождение аутентификации в домене нажав на кнопку «Test authentication». При успешной аутентификации в правом верхнем углу появится надпись «Successfully connected to LDAP».

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

  • в разделе LDAP searching and updating необходимо указать параметры для экспорта данных:
    • Edit mode – режим взаимодействия с доменом, по умолчанию устанавливается значение «READ_ONLY»;
    • Users DN – элемент дерева домена, где располагаются пользователи, которых необходимо импортировать: DC=[Домен],DC=[Доменная_Зона];
    • Username LDAP attribute – имя атрибута в домене, который хранит логин пользователя, по умолчанию устанавливается значение «cn»;
    • RDN LDAP attribute – имя атрибута в домене, который используется в качестве RDN логина пользователя (обычно совпадает с атрибутом, который хранил логин пользователя), по умолчанию устанавливается значение «cn»;
    • UUID LDAP attribute – имя атрибута в домене, который хранит уникальный идентификатор (UID) пользователя, по умолчанию устанавливается значение «objectGUID»;
    • User object classes – перечень классов пользователей, разделенных запятой, которые должны быть импортированы, по умолчанию устанавливается значение «person, organizationalPerson, user»;
    • User LDAP filter – фильтр для поиска импортируемых пользователей в домене. Пример:(memberOf:1.2.840.113556.1.4.1941:=CN=MyMainGroup,OU=MyOrganizationalUnit,DC=MyDomain,DC=com);
    • Search scope – тип поиска, по умолчанию устанавливается значение «Subtree» (для поиска во вложенных объектах);
    • Read timeout – таймаут для операций чтения в миллисекундах, по умолчанию параметр остается пустым;
    • Pagination – флаг, обозначающий, что необходимо использовать постраничный поиск в LDAP, по умолчанию устанавливается значение «off».

  • в разделе Synchronization settings необходимо указать настройки синхронизации с доменом:
    • Import users – флаг, обозначающий, что необходимо импортировать пользователей из AD, по умолчанию устанавливается значение «on»;
    • Sync Registrations - флаг, обозначающий, что необходимо импортировать созданных пользователей в Keycloak в AD, по умолчанию устанавливается значение «on»;
    • Batch size – количество пользователей, которое может быть импортировано из AD за одну транзакцию, по умолчанию параметр остается пустым;
    • Periodic full sync - флаг, обозначающий, что необходимо периодически синхронизировать всех пользователей из AD с пользователями Keycloak, по умолчанию устанавливается значение «on». Также необходимо установить в поле «Full sync period» период синхронизации в секундах, по умолчанию устанавливается значение 3600;
    • Periodic changed users sync - флаг, обозначающий, что необходимо периодически синхронизировать созданных или измененных пользователей из AD с пользователями Keycloak, по умолчанию устанавливается значение «on». Также необходимо установить в поле «Changed users sync period» период синхронизации в секундах, по умолчанию устанавливается значение 60.

  • в разделе Kerberos integration необходимо указать параметры для использования протокола Kerberos:
    • Allow Kerberos authentication - флаг, обозначающий, что необходимо использовать HTTP авторизацию пользователей с SPNEGO/Kerberos токенами, по умолчанию устанавливается значение «Off»;
    • Use Kerberos for password authentication - флаг, обозначающий, что необходимо использовать модуль входа Kerberos для проверки подлинности пары логин/пароль, по умолчанию устанавливается значение «Off».

  • в разделе Cache settings необходимо указать параметры кэширования:
    • Cache policy – политика кэширования, которая регулирует время очистки кэша, по умолчанию устанавливается значение «DEFAULT», что означает применение настроек по умолчанию для глобального кеша.

  • в разделе Advanced settings необходимо указать дополнительные параметры:
    • Enable the LDAPv3 password modify extended operation – флаг, обозначающий необходимость использования LDAPv3 (RFC-3062), по умолчанию устанавливается значение «Off»;
    • Validate password policy – флаг, обозначающий, что Keycloak должен проверять пароль на соответствие политикам realm перед его обновлением (синхронизацией с AD), по умолчанию устанавливается значение «Off»;
    • Trust email – флаг, обозначающий, что Keycloak не должен проверять адрес электронной почты перед его обновлением (синхронизацией с AD), по умолчанию устанавливается значение «Off».

После задания настроек необходимо проверить синхронизацию с AD нажав на кнопку «Query Supported Extension». При успешной аутентификации в правом верхнем углу появится надпись «Successfully connected to LDAP».

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

 В завершение настройки необходимо нажать кнопку Save.

После завершения настройки в окне с настройками федераций (пункт главного меню «User federation») консоли Keycloak появится созданное выше подключение.

Далее необходимо настроить синхронизацию групп пользователей, для этого необходимо нажать на значок подключения в окне с настройками федераций, после чего перейти на вкладку «Mappers» в открывшемся окне и нажать на кнопку «Add mapper».

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

  • Name – название объекта (маппера), произвольный текст, по умолчанию устанавливается значение «Grp»;
  • Mapper type – тип объекта (маппера), по умолчанию устанавливается значение «group-ldap-mapper»;
  • LDAP Groups DN – фильтр для сопоставления групп в формате: OU=Подразделение_В_ AD,DC=Домен,DC=Доменная_зона. Пример: OU=MyOrganizationalUnit,DC=MyDomain,DC=com;
  • Group Name LDAP Attribute – имя атрибута AD, в котором хранится имя группы пользователей, по умолчанию устанавливается значение «cn»;
  • Group Object Classes - перечень классов групп пользователей, разделенных запятой, которые должны быть импортированы, по умолчанию устанавливается значение «group»;
  • Preserve Group Inheritance – флаг, обозначающий включение или выключение распространения группового наследования. То есть в случае, если группа пользователей состоит из других групп пользователей, то вся эта иерархия наследования также перенесётся в Keycloak, по умолчанию устанавливается значение «Off»;
  • Ignore Missing Groups – флаг, обозначающий, что необходимо игнорировать отсутствующие группы, по умолчанию устанавливается значение «On»;
  • Membership LDAP Attribute - имя атрибута AD, в котором хранится сопоставление пользователей группам, по умолчанию устанавливается значение «member»;
  • Membership Attribute Type – тип атрибута, в котором хранится сопоставление пользователей группам, по умолчанию устанавливается значение «DN»;
  • Membership User LDAP Attribute - имя атрибута AD, в котором хранится сопоставление пользователя к группам, по умолчанию устанавливается значение «cn»;
  • LDAP Filter – преднастроенный дополнительный фильтр для сопоставления, по умолчанию поле необходимо оставить пустым;
  • Mode – режим сопоставления, по умолчанию устанавливается значение «READ_ONLY»;
  • User Groups Retrieve Strategy – стратегия экспорта групп, по умолчанию устанавливается значение «LOAD_GROUPS_BY_MEMBER_ATTRIBUTE»;
  • Member-Of LDAP Attribute – имя атрибута AD, в котором для пользователя хранится перечень групп, в которые он включен, по умолчанию устанавливается значение «memberOf»;
  • Mapped Group Attributes – перечень атрибутов групп AD, которые необходимо сопоставить с атрибутами Keycloak, по умолчанию поле необходимо оставить пустым;
  • Drop non-existing groups during sync – флаг, обозначающий необходимость удаления групп из Keycloak, которые больше не существуют в AD, по умолчанию устанавливается значение «Off»;
  • Groups Path – путь, куда необходимо синхронизировать группы из AD, по умолчанию устанавливается значение «/» (корневая группа).

После завершения настройки группы и пользователи из AD, согласно заданной конфигурации, должны появиться с Keycloak. Далее этим группам можно будет назначать роли, как описано выше.

  • No labels