- Created by Victoria Belyaeva, last modified on Feb 07, 2025
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 6 Current »
ExeMES использует ролевую модель доступа, т.е. объекты полномочий в ПО группируются определенным образом образовывая роли, которые в свою очередь ассоциируются с группами пользователей.
Для управления правами доступа к ПО ExeMES используется ПО Keycloak. Конфигурация параметров для управления правами доступа к ПО ExeMES размещена в отдельном преднастроенном realm «exemes». Для работы с конфигурацией необходимо запустить административную web консоль Keycloak (URL для обращения конфигурируется при инсталляции Keycloak) и открыть realm «exemes».
Выбор realm
Для конфигурации прав доступа к ПО ExeMES необходимо:
- Создать группы пользователей.
Для создания группы пользователей необходимо перейти на вкладку «Groups» в консоли Keycloak и нажать кнопку «Create group», после чего в открывшемся всплывающем окне указать название группы. Предпочтительно указывать названия групп пользователей латинскими буквами.
Создание новой группы пользователей
- Назначить группам пользователей роли.
В Keycloak предусмотрено 2 типа ролей: роли realm (глобальные) и роли клиента (роли конкретного приложения). Для настройки прав доступа к ExeMES необходимо назначить группе пользователей роли клиентов ExeMES.
Изменять настройки глобальный ролей 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).
Политики (policy)
Политики (policy) – это правила, которые используются для проверки на уровне API функции наличия разрешения для доступа у пользователя: для API функции задается политика и при обращении пользователя проверяется соответствие пользователя назначенной политики функции. Узнать какая именно политика отвечает за использование той или иной функции можно, воспользовавшись Swagger: информация о политике каждой api функции приведена в описании каждой функции
Отображение policy в Swagger
Название роли
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», после чего в открывшемся всплывающем окне отметить роли, с которыми необходимо ассоциировать группу пользователей.
Назначение ролей для группы пользователей (роли realm)
По умолчанию в окне отображаются роли realm, для отображения ролей клиентов необходимо переключить тип фильтра на «Filter by clients». В окне отобразятся только те роли, которые еще не ассоциированы для этой группы, рядом с каждой ролью будет указан клиент, к которому она относится. Для удобства навигации можно воспользоваться фильтром по имени роли (ввести в поле «Search by role name» полное или часть имени роли).
Назначение ролей для группы пользователей (роли клиентов)
- Добавить пользователей в группы. Все пользователи, добавленные в группу, будут автоматически получать роли, ассоциированные с данной группой. Если пользователь включен в несколько групп, его полномочия будут определены в соответствии с полномочиями всех ролей, которые были ему ассоциированы.
Для создания пользователя в 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 провайдеру: После задания настроек необходимо проверить подключение нажав на кнопку «Test connection». При успешном подключении в правом верхнем углу появится надпись «Successfully connected to LDAP» В случае ошибки необходимо проверить корректность указанных параметров соединения и доступность контроллера домена, после чего повторить тест. После задания настроек необходимо проверить прохождение аутентификации в домене нажав на кнопку «Test authentication». При успешной аутентификации в правом верхнем углу появится надпись «Successfully connected to LDAP». В случае ошибки необходимо проверить корректность указанных параметров соединения и доступность контроллера домена, после чего повторить тест. После задания настроек необходимо проверить синхронизацию с AD нажав на кнопку «Query Supported Extension». При успешной аутентификации в правом верхнем углу появится надпись «Successfully connected to LDAP». В случае ошибки необходимо проверить корректность указанных параметров соединения и доступность контроллера домена, после чего повторить тест. В завершение настройки необходимо нажать кнопку Save. После завершения настройки в окне с настройками федераций (пункт главного меню «User federation») консоли Keycloak появится созданное выше подключение. Далее необходимо настроить синхронизацию групп пользователей, для этого необходимо нажать на значок подключения в окне с настройками федераций, после чего перейти на вкладку «Mappers» в открывшемся окне и нажать на кнопку «Add mapper». Для настройки синхронизации групп пользователей необходимо указать следующие параметры для сопоставления: После завершения настройки группы и пользователи из AD, согласно заданной конфигурации, должны появиться с Keycloak. Далее этим группам можно будет назначать роли, как описано выше.Добавление LDAP провайдера
Успешное подключение к домену
Успешная аутентификация в домене
Настройки LDAP searching and updating
Настройки раздела Synchronization settings
Настройки раздела Kerberos integration
Настройки Cache settings
Сообщение об успешной проверке
Созданная конфигурация LDAP
Окно перехода к настройке синхронизации групп пользователей
- No labels