ExeMES использует ролевую модель доступа, т.е. объекты полномочий в ПО группируются определенным образом образовывая роли, которые в свою очередь ассоциируются с группами пользователей.
Для управления правами доступа к ПО ExeMES используется ПО Keycloak. Конфигурация параметров для управления правами доступа к ПО ExeMES размещена в отдельном преднастроенном realm «exemes». Для работы с конфигурацией необходимо запустить административную web консоль Keycloak (URL для обращения конфигурируется при инсталляции Keycloak) и открыть realm «exemes».
Для конфигурации прав доступа к ПО ExeMES необходимо:
- Создать группы пользователей.
Expand title Инструкция Для создания группы пользователей необходимо перейти на вкладку «Groups» в консоли Keycloak и нажать кнопку «Create group», после чего в открывшемся всплывающем окне указать название группы. Предпочтительно указывать названия групп пользователей латинскими буквами.
- Назначить группам пользователей роли.
Expand title Инструкция В Keycloak предусмотрено 2 типа ролей: роли realm (глобальные) и роли клиента (роли конкретного приложения). Для настройки прав доступа к ExeMES необходимо назначить группе пользователей роли клиентов ExeMES.
Note Изменять настройки глобальный ролей realm не требуется и не рекомендуется.
Для ПО ExeMES в realm настроено 4 клиента:
- mes-client (клиент для ExeMES Client);
- mesmiddleware (клиент для ExeMES Server);
- exemesruntime-client (клиент для ExeMES RuntimeClient);
- exesched (клиент для ExeSched).
Для ExeMes Client предусмотрена единственная роль, которая регулирует доступ к web-интерфейсу приложения – AC, доступ к отдельным функциям по просмотру и редактированию данных регулируется на уровне доступа к web API функциям ExeMES Middleware.
Для ExeMES Middleware предусмотрена роль, которая регулирует доступ к API интерфейсу приложения – MD, доступ к отдельным API функциям регулируется отдельными ролями, которые отвечают за разрешение доступа к соответствующим политикам (policy).
Info title Политики (policy) Политики (policy) – это правила, которые используются для проверки на уровне API функции наличия разрешения для доступа у пользователя: для API функции задается политика и при обращении пользователя проверяется соответствие пользователя назначенной политики функции. Узнать какая именно политика отвечает за использование той или иной функции можно, воспользовавшись Swagger: информация о политике каждой api функции приведена в описании каждой функции
Expand title Сопоставление ролей клиента mesmiddleware с policy API функций Название роли
policy API функций
EAttr
IsCanEditAttr
ECategory
IsCanEditCategory
EChar
IsCanEditChar
ECons
IsCanEditCons
ECust
IsCanEditCust
ECustomData
IsCanEditCustomData
ECWProcess
IsCanEditCWProcess
EEnt
IsCanEditEnt
EInv
IsCanEditInv
EItem
IsCanEditItem
EItemClass
IsCanEditItemClass
EItemGrade
IsCanEditItemGrade
EItemReason
IsCanEditItemReason
EItemState
IsCanEditItemState
EJobExec
IsCanRunJob
ELot
IsCanEditLot
EParam
IsCanEditParam
EPlanData
IsCanEditPlanData
EPlanSetting
IsCanEditPlanSetting
EPlanType
IsCanEditPlanType
EProcess
IsCanEditProcess
EProd
IsCanEditProd
EQMSpec
IsCanEditQMSpec
ESample
IsCanEditSample
ESamplePlan
IsCanEditSamplePlan
ESamplePlanFreq
IsCanEditSamplePlanFreq
EShift
IsCanEditShift
EShipment
IsCanEditShipment
ESO
IsCanEditSO
ESystemAttr
IsCanEditSystemAttr
ETeam
IsCanEditTeam
ETeamSchedule
IsCanEditTeamSchedule
ETransfer
IsCanEditTransfer
EUOM
IsCanEditUOM
EUtil
IsCanEditUtil
EUtilExecSetRaw
IsCanEditUtilRawData
EUtilHistory
IsCanEditUtilData
EUtilState
IsCanEditUtilState
EWO
IsCanEditWO
VAttr
IsCanViewAttr
VCategory
IsCanViewCategory
VChar
IsCanViewChar
VCons
IsCanViewCons
VCust
IsCanViewCust
VCustomData
IsCanViewCustomData
VCWProcess
IsCanViewCWProcess
VEnt
IsCanViewEnt
VInv
IsCanViewInv
VItem
IsCanViewItem
VItemClass
IsCanViewItemClass
VItemGrade
IsCanViewItemGrade
VItemReason
IsCanViewItemReason
VItemState
IsCanViewItemState
VLot
IsCanViewLot
VParam
IsCanViewParam
VPlanData
IsCanViewPlanData
VPlanSetting
IsCanViewPlanSetting
VPlanType
IsCanViewPlanType
VProcess
IsCanViewProcess
VProd
IsCanViewProd
VQMSpec
IsCanViewQMSpec
VR
Разрешение на просмотр отчетов
VSample
IsCanViewSample
VSamplePlan
IsCanViewSamplePlan
VSamplePlanFreq
IsCanViewSamplePlanFreq
VShift
IsCanViewShift
VShipment
IsCanViewShipment
VSO
IsCanViewSO
VSystemAttr
IsCanViewSystemAttr
VTeam
IsCanViewTeam
VTeamSchedule
IsCanViewTeamSchedule
VTransfer
IsCanViewTransfer
VUOM
IsCanViewUOM
VUtil
IsCanViewUtil
VUtilHistory
IsCanViewUtilData
VUtilState
IsCanViewUtilState
VWO
IsCanViewWO
Также для клиента ExeMES Middleware предусмотрены 2 роли для просмотра и управления объектами настройками доступа:
- EAccess - роль для изменения настроек доступа;
- VAccess - роль для просмотра настроек доступа.
Управление объектами настройками доступа предусматривает настройку доступа к объектам из объектной модели.
Для работы данного функционала также необходимо предоставить:
- пользователю, ответственному за управление доступом - роли view-users и manage-authorization или роль realm-admin клиента realm-management;
- сервисному аккаунту клиента mesmiddleware service-account-mesmiddleware - роль view-clients.
Для ExeMes RuntimeClient предусмотрены 4 роли:
- Operator - роль для доступа к панели оператора;
- Inventory - роль для доступа к интерфейсу Остатки на складах;
- Quality - роль для доступа к интерфейсу Отбор проб;
- Utilization - роль для доступа к интерфейсу для классификации событий оборудования.
Для ExeSched предусмотрена единственная роль, которая регулирует доступ к web-интерфейсу приложения – Scheduler.
Для назначения роли группе пользователей необходимо открыть страницу с группами пользователей (пункт главного меню «Groups»), выбрать в списке групп пользователей необходимую группу, перейти на вкладку «Role mapping» и нажать кнопку «Assign role», после чего в открывшемся всплывающем окне отметить роли, с которыми необходимо ассоциировать группу пользователей.
Tip По умолчанию в окне отображаются роли realm, для отображения ролей клиентов необходимо переключить тип фильтра на «Filter by clients». В окне отобразятся только те роли, которые еще не ассоциированы для этой группы, рядом с каждой ролью будет указан клиент, к которому она относится. Для удобства навигации можно воспользоваться фильтром по имени роли (ввести в поле «Search by role name» полное или часть имени роли).
- Добавить пользователей в группы. Все пользователи, добавленные в группу, будут автоматически получать роли, ассоциированные с данной группой. Если пользователь включен в несколько групп, его полномочия будут определены в соответствии с полномочиями всех ролей, которые были ему ассоциированы.
Expand title Создание пользователей и добавление их в группы Для создания пользователя в Keycloak необходимо на странице с пользователями (пункт главного меню «Users») нажать кнопку «Add User», после чего в открывшемся всплывающем окне указать данные пользователя, такие как имя, фамилия, электронная почта и пароль.
Чтобы добавить пользователя в группу необходимо нажать на кнопку «Join Groups» и в открывшемся всплывающем окне выбрать группы, в которые необходимо включить пользователя.
Для завершения процесса создания пользователя необходимо нажать на кнопку «Create».
Для вновь созданного пользователя необходимо задать пароль. Для этого на странице с пользователями (пункт главного меню «Users») необходимо выбрать пользователя, перейти на вкладку «Credentials» и нажать кнопку «Set password», после чего в открывшемся всплывающем окне задать временный или постоянный пароль для пользователя (регулируется переключателем Temporary: если он включен – пароль временный, если выключен - постоянный). Временный пароль пользователь должен будет сменить при первом входе. Для завершения процесса задания пароля необходимо нажать на кнопку «Save», после чего подтвердить действие нажав на кнопку «Save password».
Excerpt | |||||
---|---|---|---|---|---|
Keycloak предоставляет возможность импортировать пользователей из внешних источников данных: т.е. группы и пользователи могут быть импортированы из Active Directory, что обеспечит сквозную аутентификацию в ExeMES для пользователей корпоративного домена.
|