<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Sharing this with the community in general as folks interested in keystone discuss implementing a capability of adding "grouping" to the structures. The blueprint related is <a href="https://blueprints.launchpad.net/keystone/+spec/user-groups">https://blueprints.launchpad.net/keystone/+spec/user-groups</a>, and Henry sent a note a week or so ago to the general list inviting feedback.<div><br></div><div>google doc with proposed API: <a rel="nofollow" href="https://docs.google.com/document/d/1Ce6iVPl38_7fNHENNtfCXIrXVQIFqOZZgX0zNIzFLSo/edit" style="max-width: 60em; color: rgb(0, 51, 170); text-decoration: none; font-family: sans-serif; font-size: 12px; line-height: 18px; text-align: left; background-color: rgb(255, 255, 255); ">https:/<wbr style="max-width: 60em; ">/docs.google.<wbr style="max-width: 60em; ">com/document/<wbr style="max-width: 60em; ">d/1Ce6iVPl38_<wbr style="max-width: 60em; ">7fNHENNtfCXIrXV<wbr style="max-width: 60em; ">QIFqOZZgX0zNIzF<wbr style="max-width: 60em; ">LSo/edit</a></div><div>etherpad with general discussion/questions: <a rel="nofollow" href="https://etherpad.openstack.org/keystone-user-groups" style="max-width: 60em; color: rgb(0, 51, 170); font-family: sans-serif; font-size: 12px; line-height: 18px; text-align: left; background-color: rgb(255, 255, 255); ">https:/<wbr style="max-width: 60em; ">/etherpad.<wbr style="max-width: 60em; ">openstack.<wbr style="max-width: 60em; ">org/keystone-<wbr style="max-width: 60em; ">user-groups</a></div><div><br></div><div>- joe<br><div><br><div>Begin forwarded message:</div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>From: </b></span><span style="font-family:'Helvetica'; font-size:medium;">David Chadwick <<a href="mailto:d.w.chadwick@kent.ac.uk">d.w.chadwick@kent.ac.uk</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Subject: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>Re: The way forward for supporting groups of users</b><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Date: </b></span><span style="font-family:'Helvetica'; font-size:medium;">November 17, 2012 9:28:06 AM PST<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>To: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Henry Nash <<a href="mailto:henry.nash@mac.com">henry.nash@mac.com</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Cc: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Joe Heck <<a href="mailto:heckj@mac.com">heckj@mac.com</a>>, Adam Young <<a href="mailto:ayoung@redhat.com">ayoung@redhat.com</a>>, Dolph Mathews <<a href="mailto:dolph.mathews@gmail.com">dolph.mathews@gmail.com</a>>, Guang Yee <<a href="mailto:guang.yee@hp.com">guang.yee@hp.com</a>>, Kristy Siu <<a href="mailto:kwss2@kentforlife.net">kwss2@kentforlife.net</a>><br></span></div><br><div>Hi Henry<br><br>Thanks for your summary, which is fine.<br><br>Given that federation will be implemented in the medium term, there is nothing to stop components of it being implemented now. For example, Kristy has just shown me how the directory function needed for federation can be implemented using an enhanced services catalog with the existing interface, and she will distribute the design for this on Monday for you guys to comment upon.<br><br>I would therefore support implementing the mapping function now to support current use cases (option 2 below) then it can subsequently be used by federation when the latter is integrated. I dont think the API for attribute/role mapping will be that difficult to define. The tricky thing is to get the access controls right, so that each organisational administrator is only allowed to map his organisational roles/attributes into the cloud service roles that the cloud administrator has granted him access to (we call this the administrative scope of the organisational administrator). For example, there may be an admin role defined for a cloud service, which has super-user privileges that the cloud administrator uses, but he does not want the organisational administrators to have access to this. So when they perform role mapping they would not be allowed to map their staff or programmer role, say, into the admin role.<br><br>The first step could be to have a design blueprint for mapping that we all contribute to. If you are happy to proceed on this basis, maybe Henry, or Kristy and myself, can start on this next week<br><br>regards<br><br>David<br><br>On 17/11/2012 13:56, Henry Nash wrote:<br><blockquote type="cite">Hi<br><br>I think you have all seen the bp for groups of users, and thanks to<br>Guang and David for your detailed comments. I think right now there<br>are no outstanding questions in terms of the actual proposal in of<br>itself - other than the interesting point of view from David that in<br>fact you could achieve the same affect by using the role mapping<br>concept from the federation proposal. I'll try and summarize David's<br>point (David, feel free to interject if I have this wrong)<br><br>For federation, in order to be able to effectively use/chose from<br>many external Identity Providers and Attribute Authorities, there<br>must be mapping between the attributes/roles that the cloud service<br>itself understands and those defined by those external authorities.<br>[This is proposed to be a function of the Openstack Gateway in the<br>current federation proposal]. One could therefore imagine extending<br>this to where this could also be used to map the customer defined<br>roles (e.g. Teacher, Pupil) to roles that were exposed by the Gateway<br>for the cloud service required.<br><br>So I think we need to discuss how best to move forward. In my mind<br>there are a few options:<br><br>1) Just bundle this requirement up with federation.<br><br>2) Implement a role mapping capability that is broadly api compatible<br>with what we will do with federation. In this we would take the<br>first steps at re-deinfing the terminology (i.e. what's a cloud<br>service attribute and what's a locally-defined role), provide a<br>mapping capability, start to evolve the appropriate Ui etc.<br><br>3) Just implement the groups concept as defined. In the long run<br>maybe this is replaced (or made redundant) by role mapping, but only<br>if we chose to drive the federation mapping into non-federated<br>configurations of openstack.<br><br>My concerns are: a) Federation is a really important capability we<br>need and will get delivered in the future. Given its scope, however,<br>pretty sure this is not a Grizzly item - and maybe even longer? b) We<br>will always have this balancing act of what features we put in a<br>"self-contained" (i.e. non-federated) openstack implementation - and<br>I feel the basic assignment (using today's keystone terms) of roles<br>to groups of users is imperative for large enterprise use (it is<br>certainly what we have found in other products)<br><br>However, I'd been keen to this group's view of these options. I do<br>believe that grouping or mapping is an important capability we need<br>to add - and really want to find a way of getting this into Grizzly<br>in some shape or form.<br><br>Henry<br><br><br></blockquote></div></blockquote></div><br></div></body></html>