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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии этого же участника)
Строка 2: Строка 2:
 
== Создание новой роли ==
 
== Создание новой роли ==
 
Список всех ролей можно увидеть в пункте меню "Roles" в блоке "Configure". Чтобы добавить новую роль следует нажать на кнопку "Add Role".
 
Список всех ролей можно увидеть в пункте меню "Roles" в блоке "Configure". Чтобы добавить новую роль следует нажать на кнопку "Add Role".
[[Файл:Add Role.png|1000px|слева]]<br clear="both" /><br>
+
[[Файл:роли на проекте.png|1000px|слева]]<br clear="both" /><br>
 
На странице создания новой роли заполняем обязательное поле Role Name. '''Важно! После сохранения, данное поле нельзя будет изменить.'''<br>
 
На странице создания новой роли заполняем обязательное поле Role Name. '''Важно! После сохранения, данное поле нельзя будет изменить.'''<br>
 
При необходимости добавляем описание роли и нажимаем кнопку "Save".
 
При необходимости добавляем описание роли и нажимаем кнопку "Save".
 
[[Файл:Добавление роли.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>
 
[[Файл:Пользователи в роли.png|1000px|слева]]<br clear="both" /><br>
 
[[Файл:Пользователи в роли.png|1000px|слева]]<br clear="both" /><br>
 +
 
== Назначение ролей пользователю ==
 
== Назначение ролей пользователю ==
Роли клиента - это в основном пространство имен, предназначенное для клиента. Каждый клиент получает собственное пространство имен. Управление ролями клиентов осуществляется на вкладке «Роли» для каждого отдельного клиента. Вы взаимодействуете с этим пользовательским интерфейсом так же, как и с ролями на уровне области.
+
Для того чтобы добавить роль пользователь нужно выбрать пункт меню "Users" в блоке "Manage" и в списке найти нужного пользователя, которому необходимо добавить роль. Далее на вкладке "Role Mappings" в разделе "Available Roles" выбрать роль которую требуется добавить пользователю и нажать кнопку "Add selected".
Сопоставления ролей пользователей могут быть назначены каждому пользователю индивидуально на вкладке «Сопоставления ролей» для этого отдельного пользователя.
+
[[Файл:Настройка ролей для пользователя.png|1000px|слева]]<br clear="both" /><br>
В приведенном выше примере мы собираемся назначить разработчика составной роли, которая была создана в главе «Составные роли».
+
После добавления роли она отобразится в разделе "Effective Roles". "Effective Roles" - это все роли, которые явно назначаются пользователю, а также любые унаследованные роли.
[[Файл:Настройка ролей для пользователя.png]]
 
 
 
[[Файл:Добавление группы пользователю.png]]
 
После назначения роли разработчика вы увидите, что роль сотрудника, связанная с составом разработчиков, отображается в разделе «Действующие роли». Действующие роли - это все роли, которые явно назначаются пользователю, а также любые роли, унаследованные от композитов.
 
  
 
== Роли по умолчанию ==
 
== Роли по умолчанию ==
Роли по умолчанию позволяют автоматически назначать сопоставления ролей пользователей, когда любой пользователь создается или импортируется с помощью 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