ExeMES использует ролевую модель доступа, т.е. объекты полномочий в ПО группируются определенным образом образовывая роли, которые в свою очередь ассоциируются с группами пользователей.
Для управления правами доступа к ПО ExeMES используется ПО Keycloak. Конфигурация параметров для управления правами доступа к ПО ExeMES размещена в отдельном преднастроенном realm «exemes». Для работы с конфигурацией необходимо запустить административную web консоль Keycloak (URL для обращения конфигурируется при инсталляции Keycloak) и открыть realm «exemes».
Для конфигурации прав доступа к ПО ExeMES необходимо:
Создать группы пользователей.
Для создания группы пользователей необходимо перейти на вкладку «Groups» в консоли Keycloak и нажать кнопку «Create group», после чего в открывшемся всплывающем окне указать название группы. Предпочтительно указывать названия групп пользователей латинскими буквами.
Назначить группам пользователей роли.
В Keycloak предусмотрено 2 типа ролей: роли realm (глобальные) и роли клиента (роли конкретного приложения). Для настройки прав доступа к ExeMES необходимо назначить группе пользователей роли клиентов ExeMES.
Изменять настройки глобальный ролей realm не требуется и не рекомендуется.
Для ПО ExeMES в realm настроено 2 клиента: mes-client (клиент для ExeMES Client) и mesmiddleware (клиент для ExeMES Middleware).
Для ExeMes Client предусмотрена единственная роль, которая регулирует доступ к web-интерфейсу приложения – AC, доступ к отдельным функциям по просмотру и редактированию данных регулируется на уровне доступа к web API функциям ExeMES Middleware.
Для ExeMES Middleware предусмотрена роль, которая регулирует доступ к API интерфейсу приложения – MD, доступ к отдельным API функциям регулируется отдельными ролями, которые отвечают за разрешение доступа к соответствующим политикам (policy).
Политики (policy)
Политики (policy) – это правила, которые используются для проверки на уровне API функции наличия разрешения для доступа у пользователя: для API функции задается политика и при обращении пользователя проверяется соответствие пользователя назначенной политики функции. Узнать какая именно политика отвечает за использование той или иной функции можно, воспользовавшись Swagger: информация о политике каждой 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
Для назначения роли группе пользователей необходимо открыть страницу с группами пользователей (пункт главного меню «Groups»), выбрать в списке групп пользователей необходимую группу, перейти на вкладку «Role mapping» и нажать кнопку «Assign role», после чего в открывшемся всплывающем окне отметить роли, с которыми необходимо ассоциировать группу пользователей.
Добавить пользователей в группы. Все пользователи, добавленные в группу, будут автоматически получать роли, ассоциированные с данной группой. Если пользователь включен в несколько групп, его полномочия будут определены в соответствии с полномочиями всех ролей, которые были ему ассоциированы.