<div dir="ltr">I don&#39;t think the testsuite will be to hard. The old integration testsuite relies mostly on &quot;demo&quot; realm. The new have limited places that rely on the admin realm, but there&#39;s one abstract class everything inherits from so we can create the equivalent realm there.</div><div class="gmail_extra"><br><div class="gmail_quote">On 7 December 2015 at 08:40, Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:sthorger@redhat.com" target="_blank">sthorger@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"><div dir="ltr">I was thinking a bit more about trust between realms and I think that should be limited to authentication only. An admin with certain roles in one realm shouldn&#39;t necessarily have the same roles in another realm. So I think we need either a user that can exist in multiple realms or utilize identity brokering to get &quot;linked&quot; users. I&#39;m worried if we allow roles from one realm to give admin permissions in another it will be hard to get a full picture of who has access to the realm. It may also give unintentional permissions. Also, if we introduce admins that can only manage a &quot;group&quot; of users or roles that specify what roles an admin can grant that would require users in the specific realm to manage. </div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On 4 December 2015 at 17:17, 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">I would do this in 2 phases:<br>
<br>
Phase 1 keeps the master realm, but makes all the other changes we&#39;ve<br>
talked about.<br>
<br>
Phase 2 ditches the master realm if we decide to do that.  This might be<br>
problematic as I&#39;m worried that our testsuite depends heavily on the<br>
master realm existing.<br>
<div><div><br>
On 12/3/2015 3:33 PM, Bill Burke wrote:<br>
&gt;<br>
&gt;<br>
&gt; On 12/3/2015 2:19 PM, Stian Thorgersen wrote:<br>
&gt;&gt; +1000<br>
&gt;&gt;<br>
&gt;&gt; This would simplify a lot of things. Currently, even though I know the<br>
&gt;&gt; code pretty well, I still get confused when it comes to admin roles,<br>
&gt;&gt; master admin clients and all that jazz.<br>
&gt;&gt;<br>
&gt;&gt; It would also simplify the admin endpoints and we can drop &quot;realms&quot; from<br>
&gt;&gt; urls. We could also drop &quot;auth&quot; from urls on the standalone Keycloak<br>
&gt;&gt; server. That would make URLs nicer. So it would be:<br>
&gt;&gt;<br>
&gt;&gt; /&lt;realm name&gt;/protocol/openid-connect/<br>
&gt;&gt; /&lt;realm name&gt;/admin<br>
&gt;&gt;<br>
&gt;&gt; Instead of what we have atm:<br>
&gt;&gt;<br>
&gt;&gt; /auth/realms/&lt;realm name&gt;/protocol/openid-connect/<br>
&gt;&gt; /auth/realms/&lt;realm name&gt;/admin<br>
&gt;&gt;<br>
&gt;&gt; I think we should have a dedicated create-realm role, rather than allow<br>
&gt;&gt; admin to do it. We should make it possible to enable/disable realm<br>
&gt;&gt; creation from within a specific realm.<br>
&gt;&gt;<br>
&gt;<br>
&gt; We do have a create-realm role.<br>
&gt;<br>
&gt;&gt; One question with regards to trust users from one realm to another, how<br>
&gt;&gt; would you manage role permissions?<br>
&gt;<br>
&gt; What do you mean?  I was thinking of something *REALLY* simple.  If<br>
&gt; Realm A trusts Realm B and User X in Realm B has &quot;manage-clients&quot; role<br>
&gt; in Realm B, then he can manage clients in Realm A.  That way you don&#39;t<br>
&gt; have to deal with actual users, just roles.  Does that make sense?<br>
&gt;<br>
&gt;<br>
&gt; I think all permissions from one<br>
&gt;&gt; realm should be managed within the realm. We should also hide the<br>
&gt;&gt; security-admin-console from the clients list.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;&gt; We also need to figure out how to prevent the admin escalation problem<br>
&gt;&gt; we have. It should be possible to configure what roles a specific admin<br>
&gt;&gt; is allowed to grant to users.<br>
&gt;&gt;<br>
&gt;<br>
&gt; This is a different feature.  This would not be what roles a specific<br>
&gt; admin is allowed to grant, but rather what roles a specific role can<br>
&gt; grant.  Take the user out of the equation.<br>
&gt;<br>
&gt;&gt; One question though. Instead of having many changes in 1.8 would it make<br>
&gt;&gt; more sense to just say enough is enough. Let&#39;s get started on 2.x and be<br>
&gt;&gt; a bit more free with breaking backwards compatibility. Then in 2.x we could:<br>
&gt;&gt;<br>
&gt;<br>
&gt; I don&#39;t know what the best thing is to do.  I&#39;m worried about having<br>
&gt; enough time to bake stuff in community, but also don&#39;t want ugly shit<br>
&gt; sitting in product for the next 10 years.  See what we can get in by end<br>
&gt; of December then release 1.8 mid January and stabilize until March?<br>
&gt; Encourage people to upgrade to 1.8 at least to test drive?<br>
&gt;<br>
&gt;<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><div><div>_______________________________________________<br>
keycloak-dev mailing list<br>
<a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>