[keycloak-dev] user group admins
Stian Thorgersen
sthorger at redhat.com
Fri Nov 6 01:46:48 EST 2015
On 5 November 2015 at 22:51, Bill Burke <bburke at redhat.com> wrote:
>
>
> On 11/5/2015 1:53 PM, Stian Thorgersen wrote:
>
>> As I said in my previous email I think this is overusing and confusing
>> the concept of a group.
>>
>>
> I don't think it is confusing, but it may be overloading the concept of a
> group.
>
> Users should be able use groups freely for their organizations without
>> it conflicting with groups Keycloak uses to define permissions.
>>
>> As I proposed we could introduce the concept of an organization/domain.
>> An admin would then have one or more roles associated with an domain.
>> The organization/domain would simply be a namespace within the Keycloak
>> namespace:
>>
>> org.keycloak/<organization>/view-clients
>> org.keycloak/<organization>/manage-clients
>> ...
>>
>>
> An organization is just a namespace for roles and clients? As well as a
> subset of realm users?
>
> I like clients to be able to have their own role namespace as you have a
> very clear definition of how the client is defined. This client lives at
> this URL, has these mappers, and publishes/provides these roles and
> permissions.
>
> Same for User Groups: This "User Group" has a set of default
> permissions. As well as a defined set of roles. An "employee" or
> "manager" in "Accounting" would have different permissions than a
> "employee" or "manager" within "Engineering".
>
> With separate role namespaces you have no clear idea what roles are
> important to which clients and users.
As I said some use organizational wide roles, others have roles specific to
a client or a group of clients. What you are proposing only works with
those that have roles specific to a client. Namespaces works for both.
I disagree that it's a big problem with separate role namespaces as users
can easily define sensible namespaces that ties a group of clients to a
namespace. We could even have a role namespace attribute on a client group.
>
>
>
> One issue with changing "permissions" on the admin endpoints is that
>> currently we have a duplicated set of these as the master realm and each
>> individual realm can have these. This is error prone, insecure and just
>> outright confusing IMO. We should get rid of the master realm and simply
>> have the admin endpoints and console hosted under a specific realm. This
>> would also simplify the URLs for other things. So the URLs become:
>>
>>
> Without a master realm, you have to figure out the chicken and egg
> problem. How do you create a new realm? How do you manage that new
> realm? How can you manage more than one realm with one login? Red Hat IT
> has a need for two separate realms. One for employees and one for
> customers. Will they have to have two separate admin accounts on each
> realm to manage them?
Yes, we do need to figure that out - but I don't think it's a problem and
I'm confident we can find a decent solution to it. We could probably
implement it so that we'd still have the same realm drop-down in the admin
console. Permissions would be done something along the lines off:
* An option on a realm that permits admins in it to create new realms
* Use identity brokering to provide SSO to manage other realms - this could
be an idp that's hidden and can only be used through the idp_hint
However, I'm not sure if it's a big deal that an admin has to login to the
individual realms to manage them.
>
>
> * <realm>/admin
>> * <realm>/protocols
>> * <realm>/...
>>
>>
> Our URL scheme is already like this. You can log into a specific admin
> console for a specific realm. The "issue" (depending on your perspective)
> is that the admin REST interface allows you to interact with any realm.
Our URLs at the moment are prefixed with '/realms', then there's the two
separate URLs for admin endpoints.
Several users has been confused about the admin client libraries where you
login with one realm and manage another. I still get confused when dealing
with the admin endpoints and dealing with permissions. What is the master
realm client, what is the non-master realm client, etc...
>
>
>
>
> --
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-dev/attachments/20151106/36e4a9f3/attachment-0001.html
More information about the keycloak-dev
mailing list