<div dir="ltr">+1 Let&#39;s all have a hangout when Pedro returns :)</div><div class="gmail_extra"><br><div class="gmail_quote">On 23 November 2015 at 15:40, 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/23/2015 9:22 AM, Adam Young wrote:<br>
&gt; On 11/22/2015 10:50 PM, Bill Burke wrote:<br>
&gt;&gt; Most Java EE apps, simple permission stuff is handled by the<br>
&gt;&gt; applications themselves.  The security layer propagates identity and<br>
&gt;&gt; user/role mappings and the application decides which roles have<br>
&gt;&gt; permission to access which resource.  So, Keycloak core can focus on<br>
&gt;&gt; provide user/group/role/attribute authentication and information.  The<br>
&gt;&gt; service Pedro is working on will offer an optional, complimentary way to<br>
&gt;&gt; centrally manage permissions if you want to.  My on personal opinion is<br>
&gt;&gt; that most apps will want to manage resource permissions in their own<br>
&gt;&gt; special app-specific way and Pedro&#39;s stuff will be most useful as a<br>
&gt;&gt; backend-service.<br>
&gt; So the analogue in Keystone is the Policy stuff.  Again, Keystone has<br>
&gt; had to weather a storm;<br>
&gt;<br>
&gt; Access Control permissions in OpenStack are done at the Python API (not<br>
&gt; URL) level. The code calls out to the policy API to check that the<br>
&gt; context of the call matches the attributes of the resource. Practically<br>
&gt; speaking, this means two checks:  does the role match, and does the<br>
&gt; scope (project or user) match.<br>
&gt;<br>
<br>
</span>We really should have a BJ session.   Basic Java EE does permission via<br>
URL.  Pedro&#39;s stuff will be a lot more abstract.  You would submit your<br>
parameters (user, group, role, resource attributes, etc.) and get back<br>
authorization permissions.  All through the UMA protocol.  URL is just<br>
one type of resource in Pedro&#39;s stuff...Pedro should answer though.<br>
Stian and I really only have a high level understanding of what he is doing.<br>
<span class=""><br>
&gt;<br>
&gt;     It would be easier for deployers if it was URL based.  Instead, it is<br>
&gt; deep in the code, and the reason being that often an application needs<br>
&gt; to fetch an object from the database to check ownership before checking<br>
&gt; scope (what project owns the resource).  What we learned is that this<br>
&gt; can and should actually be two checks.  The role check can be done in a<br>
&gt; non-application specific way, and performed in the middleware stack;<br>
<br>
</span>We don&#39;t know shit about the Python stack.  Personally I haven&#39;t touched<br>
Python in 15 years.  But anything Java based we have a good pulse on.<br>
We&#39;ve focused mostly on basic Java EE authorization.  Most of our users<br>
are interested in Keycloak out of the box, or customizing the federation<br>
and/or authentication flows.<br>
<span class=""><br>
<br>
&gt; kinda like in the Tomcat Webserver prior to hitting the servlet itself,<br>
&gt; but in a python WSGI way instead.  This part could and should be<br>
&gt; dynamically fetched from the Keystone server.  Only the scope check<br>
&gt; needs to be done in a resource specific way.  There is support at the<br>
&gt; EJB/Hibernate layer for this kind of access control, too, and that may<br>
&gt; be a better place to focus on completely.  I suspect it is this kind of<br>
&gt; &quot;Dynamic Policy&quot; stuff that Pedro is working on.  Do we have docs for<br>
&gt; that?  I&#39;d love to compare notes.<br>
&gt;<br>
&gt; I&#39;m in the US, on East Coast time.  THis is a short Week due to<br>
&gt; Thanksgiving, but I&#39;d love to have a video conference of some sort the<br>
&gt; following week to sync up the lessons learned from both projects.<br>
<br>
</span>Yes!  Let&#39;s figure something out.<br>
<span class="im HOEnZb"><br>
<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>
</span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
keycloak-dev mailing list<br>
<a href="mailto:keycloak-dev@lists.jboss.org">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>