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

Compare with Current View Page History

« Previous Version 6 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».

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