Права доступа
Права доступа - настройки доступности объектов. Для создания и настройки ролевой модели следует использовать навигатор, для более тонкой настройки ролей используется Keycloak.
Пользователи
Пользователи - это сущности, которые могут войти в систему. У пользователей есть определенный набор атрибутов, например, имя и фамилия пользователя, адрес электронной почты, номер телефона и день рождения. Пользователей можно добавлять в различные группы и назначать им определенные роли.
Роли
Роли определяют тип или категорию пользователя. Admin, user, manager - все это типичные роли, которые могут быть в проекте. В приложениях чаще назначают доступ конкретным ролям, а не отдельным пользователям, поскольку работа с пользователями может быть сложной для управления. Значение пользовательских атрибутов передаются в токене только для пользователей или для групп пользователей.
Группы
Группы объединяют пользователей. Для группы можно определить атрибуты или настроить маппинг ролей. Пользователи, которые добавлены в группы наследуют атрибуты и маппинг ролей, определенные группой.
Понятия группы и роли часто размыты и взаимозаменяемы. В Keycloak группы - это просто набор пользователей, к которым можно применять роли и атрибуты. Роли определяют тип пользователя, а приложения назначают права доступа к ролям.
С точки зрения логики они обеспечивают те же точные функции, но разница концептуальная. Чтобы назначать права для работы с приложением следует использовать роли. Группы больше подойдут для создания коллекции пользователей, их следует использовать для управления пользователями. Роли же используются для управления службами и доступом.