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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показаны 2 промежуточные версии этого же участника)
Строка 7: Строка 7:
 
[[Файл:Добавление роли.png|1000px|слева]]<br clear="both" /><br>
 
[[Файл:Добавление роли.png|1000px|слева]]<br clear="both" /><br>
 
После сохранения отобразятся дополнительные вкладки с настройками, которые можно задать, при необходимости: <br>
 
После сохранения отобразятся дополнительные вкладки с настройками, которые можно задать, при необходимости: <br>
Настройка атрибутов, вкладка "Attributes" - [https://medium.com/@ravthiru/keycloak-retrieve-custom-attributes-in-access-token-1a2d5aef0caa Настройка пользовательского атрибута в Keycloak]<br>
+
Настройка атрибутов, вкладка "Attributes" - [https://medium.com/@ravthiru/keycloak-retrieve-custom-attributes-in-access-token-1a2d5aef0caa Настройка пользовательского атрибута в Keycloak]. '''Значение пользовательских атрибутов передаются в токене только для пользователей или для групп пользователей.'''<br>
 
[[Файл:Маппинг атрибутов роли.png|1000px|слева]]<br clear="both" /><br>
 
[[Файл:Маппинг атрибутов роли.png|1000px|слева]]<br clear="both" /><br>
 
Список и настройка пользователей роли - вкладка "Users in Role" <br>
 
Список и настройка пользователей роли - вкладка "Users in Role" <br>
Строка 13: Строка 13:
  
 
== Назначение ролей пользователю ==
 
== Назначение ролей пользователю ==
Управление ролями пользователей осуществляется на вкладке "Role Mappings" в разделе настройки пользователей "User" для каждого отдельного клиента.
 
 
Для того чтобы добавить роль пользователь нужно выбрать пункт меню "Users" в блоке "Manage" и в списке найти нужного пользователя, которому необходимо добавить роль. Далее на вкладке "Role Mappings" в разделе "Available Roles" выбрать роль которую требуется добавить пользователю и нажать кнопку "Add selected".
 
Для того чтобы добавить роль пользователь нужно выбрать пункт меню "Users" в блоке "Manage" и в списке найти нужного пользователя, которому необходимо добавить роль. Далее на вкладке "Role Mappings" в разделе "Available Roles" выбрать роль которую требуется добавить пользователю и нажать кнопку "Add selected".
[[Файл:Настройка ролей для пользователя.png]]
+
[[Файл:Настройка ролей для пользователя.png|1000px|слева]]<br clear="both" /><br>
После назначения роли разработчика вы увидите, что роль сотрудника, связанная с составом разработчиков, отображается в разделе «Действующие роли». Действующие роли - это все роли, которые явно назначаются пользователю, а также любые роли, унаследованные от композитов.
+
После добавления роли она отобразится в разделе "Effective Roles". "Effective Roles" - это все роли, которые явно назначаются пользователю, а также любые унаследованные роли.
  
 
== Роли по умолчанию ==
 
== Роли по умолчанию ==
Роли по умолчанию позволяют автоматически назначать сопоставления ролей пользователей, когда любой пользователь создается или импортируется с помощью Identity Brokering. Чтобы указать роли по умолчанию, перейдите в пункт меню «Роли» слева и щелкните вкладку «Роли по умолчанию» или, в качестве альтернативы, вы можете выполнить поиск ролей по умолчанию - роль $ {realmName} на вкладке «Роли области» и затем нажать «Изменить». Обратите внимание, что роль default-roles - $ {realmName} не может быть удалена, потому что она служит контейнером для ролей по умолчанию как области, так и клиента.
+
Роли по умолчанию позволяют автоматически назначать новым пользователям роль. Чтобы задавать роли по умолчанию необходимо в пункте меню "Roles" в блоке "Configure" перейти на вкладку "Default Roles".
 
+
[[Файл:Роли по умолчанию.png|1000px|слева]]<br clear="both" /><br>
 
 
  
 
== Составные роли ==
 
== Составные роли ==
Любую роль на уровне области или клиента можно превратить в составную роль. Составная роль - это роль, с которой связаны одна или несколько дополнительных ролей. Когда составная роль сопоставлена пользователю, пользователь также получает роли, связанные с этой составной ролью. Это наследование является рекурсивным, поэтому любой состав композитов также наследуется.
+
Любую роль можно превратить в составную роль. Составная роль - это роль, с которой связаны одна или несколько дополнительных ролей. Когда составная роль назначена пользователю, пользователь также получает роли, связанные с этой ролью. Чтобы превратить обычную роль в составную, необходимо перейти в пункте меню "Roles" в блоке "Configure", выбрать необходимую роль из списка и на вкладке "Details" включить "Composite Roles".
Чтобы превратить обычную роль в составную роль, перейдите на страницу сведений о роли и включите переключатель «Составная роль».
+
Ниже на странице появится раздел Composite Roles где можно выбрать роли в "Available Roles" и добавить их в раздел "Associated Roles".
После того, как вы переместите этот переключатель, пользовательский интерфейс выбора ролей будет отображаться ниже на странице, и вы сможете связать роли уровня области и уровня клиента с создаваемой вами композицией. В этом примере роль уровня области «служащий» была связана с составной ролью разработчика. Любой пользователь с ролью разработчика теперь также унаследует роль сотрудника.
+
[[Файл:составная роль.png|1000px|слева]]<br clear="both" /><br>

Текущая версия на 07:33, 23 ноября 2021

Роль определяет тип или категорию пользователя. 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