<div dir="ltr">I don&#39;t agree that it&#39;s simpler, but I agree with your other points. I&#39;m not to worried about the simplicity as I assume this won&#39;t be used by most people, only those that need to limit what roles specific admins can grant.<div><br></div><div>So we need a role to allow granting all roles and a role to manage role granting permissions?</div><div><br></div><div>This further speaks to us introducing role namespaces as then users can define the role granting permissions roles (hm.. simpler did you say?) in a separate namespace.</div><div><br></div><div>BTW in the future with the authz services hopefully users can define their own policies for securing the admin endpoints. We&#39;d ship with some default policies and permissions, then users can change that however they want. The admin endpoints would just be secured by the authz services, rather than our bespoke code we use ATM.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 5 November 2015 at 21:58, Bill Burke <span dir="ltr">&lt;<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On 11/5/2015 1:58 PM, Stian Thorgersen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Sounds complex and confusing to me. Also how do you specify how&#39;s<br>
allowed to manage the role granting permissions?<br>
<br>
</blockquote>
<br></span>
My proposal is *simpler* and very explicit.  All this is is assigning admin permissions to a role.<br>
<br>
<br>
<br>
There would be a realm-wide role for admins that are allowed to set up role granting permissions.  Just like we have for view-user, etc.  So, the master admin sets up the role granting permissions, then assigns role granting roles to each subset of &quot;junior&quot; admins.<span class=""><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A simpler approach would be to simply require an admin to have a role to<br>
be able to grant it to another user. When an admin creates a role they<br>
would be given that role as well. You an also composite roles to then<br>
achieve the same as you&#39;re mentioning above.<br>
<br>
</blockquote>
<br></span>
I started with that approach, but I thought it was too implicit and confusing.  There will be cases where a user has admin permissions for a client, but you don&#39;t want to allow them to grant this permission to others.  Its like contributors at git hub.  Contributors can merge PRs, but they can&#39;t grant others contributor access.<br>
<br>
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
On 5 November 2015 at 18:31, Bill Burke &lt;<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a><br></span><div><div class="h5">
&lt;mailto:<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>&gt;&gt; wrote:<br>
<br>
    One of things that we need to be able to do if we have the idea of a<br>
    &quot;Group Admin&quot; is to control specifically which role mappings an admin is<br>
    allowed to grant.  One of the places this comes up currently is that if<br>
    an admin has the &quot;manage-users&quot; role, they can pretty much add any<br>
    permission they want to themselves and get access to the whole realm.<br>
<br>
    IMO, this is something we need now.  It needs to be built into our<br>
    admin UI.<br>
<br>
    So, how could we add the ability to control which roles an admin is<br>
    allowed to grant? Under the &quot;Roles&quot; menu option there would be a &quot;Grant<br>
    Permissions&quot; tab.  Here, the admin can select a role and specify a list<br>
    of roles that can be granted if a user has that role.<br>
<br>
    Here&#39;s an example:<br>
<br>
    Let&#39;s say there are 2 sales applications &quot;reporting&quot; and &quot;analytics&quot;.<br>
    Each of the apps has defined an &quot;admin&quot; and &quot;user&quot; role. We want to have<br>
    a developer manage user access to these systems.<br>
<br>
    1. Define &quot;Sales Access Control Manager&quot; role.<br>
    2. Go into &quot;Roles&quot; menu<br>
    3. Go to the &quot;Role Granting Permissions&quot; tab.<br>
    4. Select the &quot;Sales Access Control Manager&quot; role<br>
    5. Select and add the &quot;reporting.user&quot;, &quot;reporting.admin&quot;,<br>
    &quot;analytics.user&quot;, and &quot;analytics.admin&quot; roles to the list of roles a<br>
    &quot;Sales Access Control Manager&quot; is allowed to grant.<br>
<br>
</div></div></blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
-- <br>
Bill Burke<br>
JBoss, a division of Red Hat<br>
<a href="http://bill.burkecentral.com" rel="noreferrer" target="_blank">http://bill.burkecentral.com</a><br>
</div></div></blockquote></div><br></div>