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

Compare with Current View Page History

« Previous Version 2 Next »

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

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

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

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

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

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

    В 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», после чего в открывшемся всплывающем окне отметить роли, с которыми необходимо ассоциировать группу пользователей.

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

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

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

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

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

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

  • No labels