Платформа 3V/Права доступа/Работа с ролями в Keycloak

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Роль определяет тип или категорию пользователя. Admin, user, manager - все это типичные роли, которые могут быть в проекте. В приложениях чаще назначают доступ конкретным ролям, а не отдельным пользователям, поскольку работа с пользователями может быть сложной для управления.

Создание новой роли

Список всех ролей можно увидеть в пункте меню "Roles" в блоке "Configure". Чтобы добавить новую роль следует нажать на кнопку "Add Role".

роли на проекте.png



На странице создания новой роли заполняем обязательное поле Role Name. Важно! После сохранения, данное поле нельзя будет изменить.
При необходимости добавляем описание роли и нажимаем кнопку "Save".

Добавление роли.png



После сохранения отобразятся дополнительные вкладки с настройками, которые можно задать, при необходимости:
Настройка атрибутов, вкладка "Attributes" - Настройка пользовательского атрибута в Keycloak. Значение пользовательских атрибутов передаются в токене только для пользователей или для групп пользователей.

Маппинг атрибутов роли.png



Список и настройка пользователей роли - вкладка "Users in Role"

Пользователи в роли.png



Назначение ролей пользователю

Для того чтобы добавить роль пользователь нужно выбрать пункт меню "Users" в блоке "Manage" и в списке найти нужного пользователя, которому необходимо добавить роль. Далее на вкладке "Role Mappings" в разделе "Available Roles" выбрать роль которую требуется добавить пользователю и нажать кнопку "Add selected".

Настройка ролей для пользователя.png



После добавления роли она отобразится в разделе "Effective Roles". "Effective Roles" - это все роли, которые явно назначаются пользователю, а также любые унаследованные роли.

Роли по умолчанию

Роли по умолчанию позволяют автоматически назначать новым пользователям роль. Чтобы задавать роли по умолчанию необходимо в пункте меню "Roles" в блоке "Configure" перейти на вкладку "Default Roles".

Роли по умолчанию.png



Составные роли

Любую роль можно превратить в составную роль. Составная роль - это роль, с которой связаны одна или несколько дополнительных ролей. Когда составная роль назначена пользователю, пользователь также получает роли, связанные с этой ролью. Чтобы превратить обычную роль в составную, необходимо перейти в пункте меню "Roles" в блоке "Configure", выбрать необходимую роль из списка и на вкладке "Details" включить "Composite Roles". Ниже на странице появится раздел Composite Roles где можно выбрать роли в "Available Roles" и добавить их в раздел "Associated Roles".

составная роль.png