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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
Строка 1: Строка 1:
[[Файл:Настройка ролей для пользователя.png]]
+
'''Роль''' определяет тип или категорию пользователя. Admin, user, manager - все это типичные роли, которые могут быть в проекте. В приложениях чаще назначают доступ конкретным ролям, а не отдельным пользователям, поскольку работа с пользователями может быть сложной для управления.
 
+
== Создание новой роли ==
[[Файл:Добавление группы пользователю.png]]
+
Список всех ролей можно увидеть в пункте меню "Roles" в блоке "Configure". Чтобы добавить новую роль следует нажать на кнопку "Add Role".
== Создание роли ==
 
Для создание роли в Keycloak выбираем в блоке "Configure" пункт "Roles".
 
 
[[Файл:Add Role.png|1000px|слева]]<br clear="both" /><br>
 
[[Файл:Add Role.png|1000px|слева]]<br clear="both" /><br>
Добавляем роль путем нажатия кнопки "Add Role".
+
На странице создания новой роли заполняем обязательное поле Role Name. '''Важно! После сохранения, данное поле нельзя будет изменить.'''<br>
В окне добавления новой роли заполняем обязательное поле Role Name. Важно! После сохранения изменений, данное поле нельзя будет изменить.
 
 
При необходимости добавляем описание роли и нажимаем кнопку "Save".
 
При необходимости добавляем описание роли и нажимаем кнопку "Save".
 
[[Файл:Добавление роли.png|1000px|слева]]<br clear="both" /><br>
 
[[Файл:Добавление роли.png|1000px|слева]]<br clear="both" /><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>
 +
== Назначение ролей пользователю ==
 +
Роли клиента - это в основном пространство имен, предназначенное для клиента. Каждый клиент получает собственное пространство имен. Управление ролями клиентов осуществляется на вкладке «Роли» для каждого отдельного клиента. Вы взаимодействуете с этим пользовательским интерфейсом так же, как и с ролями на уровне области.
 +
Сопоставления ролей пользователей могут быть назначены каждому пользователю индивидуально на вкладке «Сопоставления ролей» для этого отдельного пользователя.
 +
В приведенном выше примере мы собираемся назначить разработчика составной роли, которая была создана в главе «Составные роли».
 +
[[Файл:Настройка ролей для пользователя.png]]
 +
 +
[[Файл:Добавление группы пользователю.png]]
 +
После назначения роли разработчика вы увидите, что роль сотрудника, связанная с составом разработчиков, отображается в разделе «Действующие роли». Действующие роли - это все роли, которые явно назначаются пользователю, а также любые роли, унаследованные от композитов.
 +
 +
== Роли по умолчанию ==
 +
Роли по умолчанию позволяют автоматически назначать сопоставления ролей пользователей, когда любой пользователь создается или импортируется с помощью Identity Brokering. Чтобы указать роли по умолчанию, перейдите в пункт меню «Роли» слева и щелкните вкладку «Роли по умолчанию» или, в качестве альтернативы, вы можете выполнить поиск ролей по умолчанию - роль $ {realmName} на вкладке «Роли области» и затем нажать «Изменить». Обратите внимание, что роль default-roles - $ {realmName} не может быть удалена, потому что она служит контейнером для ролей по умолчанию как области, так и клиента.
 +
 +
 +
 +
== Составные роли ==
 +
Любую роль на уровне области или клиента можно превратить в составную роль. Составная роль - это роль, с которой связаны одна или несколько дополнительных ролей. Когда составная роль сопоставлена пользователю, пользователь также получает роли, связанные с этой составной ролью. Это наследование является рекурсивным, поэтому любой состав композитов также наследуется.
 +
Чтобы превратить обычную роль в составную роль, перейдите на страницу сведений о роли и включите переключатель «Составная роль».
 +
После того, как вы переместите этот переключатель, пользовательский интерфейс выбора ролей будет отображаться ниже на странице, и вы сможете связать роли уровня области и уровня клиента с создаваемой вами композицией. В этом примере роль уровня области «служащий» была связана с составной ролью разработчика. Любой пользователь с ролью разработчика теперь также унаследует роль сотрудника.

Версия 08:26, 9 ноября 2021

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

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

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

Add Role.png



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

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



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

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



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

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



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

Роли клиента - это в основном пространство имен, предназначенное для клиента. Каждый клиент получает собственное пространство имен. Управление ролями клиентов осуществляется на вкладке «Роли» для каждого отдельного клиента. Вы взаимодействуете с этим пользовательским интерфейсом так же, как и с ролями на уровне области. Сопоставления ролей пользователей могут быть назначены каждому пользователю индивидуально на вкладке «Сопоставления ролей» для этого отдельного пользователя. В приведенном выше примере мы собираемся назначить разработчика составной роли, которая была создана в главе «Составные роли». Настройка ролей для пользователя.png

Добавление группы пользователю.png После назначения роли разработчика вы увидите, что роль сотрудника, связанная с составом разработчиков, отображается в разделе «Действующие роли». Действующие роли - это все роли, которые явно назначаются пользователю, а также любые роли, унаследованные от композитов.

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

Роли по умолчанию позволяют автоматически назначать сопоставления ролей пользователей, когда любой пользователь создается или импортируется с помощью Identity Brokering. Чтобы указать роли по умолчанию, перейдите в пункт меню «Роли» слева и щелкните вкладку «Роли по умолчанию» или, в качестве альтернативы, вы можете выполнить поиск ролей по умолчанию - роль $ {realmName} на вкладке «Роли области» и затем нажать «Изменить». Обратите внимание, что роль default-roles - $ {realmName} не может быть удалена, потому что она служит контейнером для ролей по умолчанию как области, так и клиента.


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

Любую роль на уровне области или клиента можно превратить в составную роль. Составная роль - это роль, с которой связаны одна или несколько дополнительных ролей. Когда составная роль сопоставлена пользователю, пользователь также получает роли, связанные с этой составной ролью. Это наследование является рекурсивным, поэтому любой состав композитов также наследуется. Чтобы превратить обычную роль в составную роль, перейдите на страницу сведений о роли и включите переключатель «Составная роль». После того, как вы переместите этот переключатель, пользовательский интерфейс выбора ролей будет отображаться ниже на странице, и вы сможете связать роли уровня области и уровня клиента с создаваемой вами композицией. В этом примере роль уровня области «служащий» была связана с составной ролью разработчика. Любой пользователь с ролью разработчика теперь также унаследует роль сотрудника.