[keycloak-dev] roles vs. groups
Bill Burke
bburke at redhat.com
Wed Nov 4 10:37:59 EST 2015
On 11/4/2015 10:26 AM, Stan Silvert wrote:
> On 11/4/2015 9:15 AM, Bill Burke wrote:
>> I've alread stated the reason for composite roles:
>>
>> Say you have a set of applications under the Sales and Marketing
>> Department: A Leads Application, Eloqua, and Salesforce. Each of the
>> applications has a set of roles that are used to manage access to
>> various features of each application. For example, each app might have
>> an "admin" role. You would then want to organize permissions into
>> categories and assign coarser grain roles to individual users. So, you
>> would create a "Sales Admin" composite role that contains the "admin"
>> role of each sales application. Composite roles allow you to group
>> together roles into role catagories that you can assign to a specific
>> user or user group.
>>
>> User Groups are different as you want to assign a set of permissions to
>> a group of users.
>>
>> So composite roles are used to group together roles of a set of
>> applications. User Groups are used to grant a set of perissions to a
>> set of users.
> Maybe it's just me, but I think of user groups as just a way to group
> users, and roles as a way to group permissions. Roles are assigned to
> user groups. Permissions are assigned to roles.
>
We dont' have the concept of a permission, so, assigning roles to a
composite role is equivalent right now of assigning permissions to a role.
> I don't see why you need anything more. In your example, each
> application has an admin role that has a set of permissions for the
> application. Each admin role can be assigned to a Sales Admin user
> group. Sales Admin users are assigned to the Sales Admin user group.
> Done.
>
App developers focus on designing the roles/permission model for the
applications and would deal with roles, composite roles, and clients.
User admins would focus on managing users and defining groups and
assigning permissions/roles to groups and users. Instead of dealing
with fine-grain roles/permissions for each and every application, user
admins just deal with coarse grain composite roles.
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
More information about the keycloak-dev
mailing list