<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13.63636302947998px;font-weight:bold;white-space:nowrap">Tiwari,</span><br><div><span style="font-family:arial,sans-serif;font-size:13.63636302947998px;font-weight:bold;white-space:nowrap"><br>
</span></div><div><font face="arial, sans-serif"><span style="white-space:nowrap">Could you elaborate how to solve the issue by using unique role names ? </span></font></div><div><font face="arial, sans-serif"><span style="white-space:nowrap">With domain model, services like nova have to be aware of domain admin user and cloud admin user by roles. domain admin</span></font></div>
<div><font face="arial, sans-serif"><span style="white-space:nowrap">manage IAM resources and non-IAM resources by inheriting roles to projects, cloud admin have additional privilege to enable/disable</span></font></div>
<div><font face="arial, sans-serif"><span style="white-space:nowrap">OpenStack services. </span></font><font face="arial, sans-serif"><span style="white-space:nowrap">But the "admin</span></font><span style="white-space:nowrap;font-family:arial,sans-serif">" </span><font face="arial, sans-serif"><span style="white-space:nowrap">role can be granted by a domain user to its own user. How nova api identity a user is real admin</span></font></div>
<div><span style="font-family:arial,sans-serif;white-space:nowrap"> user that in admin domain?</span></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-10 2:23 GMT+08:00 Tiwari, Arvind <span dir="ltr"><<a href="mailto:arvind.tiwari@hp.com" target="_blank">arvind.tiwari@hp.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi All,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks for looking in to my proposal. Below are my comments and answers to questions which is based on “my personal opinion”.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Why domain hierarchy, why not project hierarchy?
</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Because project hierarchy is more impactful and need cross project changes.<u></u><u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">As per my understanding we all are trying to solve one business use problem, which is “how to support VPC or Reseller” model on OS based cloud deployment. As
per problem described in different proposals, it is purely a IAM use case, where different identities (users, admins, reseller ….) has different perception about the system/resources (IAM and non IAM) and they want ability to manage them.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Keystone (OS IAM service) abstracts all the IAM complexity from lower level services (Nova, Swift, cinder …) by providing unified integration model (auth token
and verification by auth middleware). Lover level services trusts Keystone and allow access (for particular requests) to actual resource based on subject’s roles provided by keystone.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Each service supports multi tenancy and tenancy mapping is establish by keystone through projects. If hierarchy enforced at project level then we need to propagate
the hierarchy info to all lower level services, where the hierarchy info is not serving any good purpose but just used to map one tenant. Enforcing the hierarchy at project level is more impactful because all services have to change their implementation to
consume the notion of hierarchy. Propagating project hierarchy to services would make sense if end resources (VMs, cinder volumes , swift resource ….) does obey the hierarchy based on projects, I think that is not the case.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">As per definition domains are container for projects, users and groups and maps well with a business entities (ProductionIT, SuperDevShop, WidgetMaster, SPI,
reseller .....). Using domain to establish hierarchy (as per my design) will abstract the complexity from lower level services. Services don’t have to worry about the domain hierarchy and we can retain the current integration (Keystone project <-> service
Tenant ) model and no need to make big change in different service. Mostly one place change which is Keystone.<u></u><u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Services has to be domain aware<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">IMO services (Nova, Swift …) don’t have to be domain aware (Unless I am missing something) as they manage resources for keystone projects. Domain is IAM concept
which used to scope IAM resources and not very useful for end services. I think what we are lacking is unique role (role name) per service, having unique role names for each service (IAM, Nova, Swift ….) will resolve the problem mentioned below by </span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Yaguang
Tang.</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Please let me know why services have to be domain aware?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thoughts?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Arvind<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Note:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">IAM Resources – Users, groups, projects …<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Non IAM resources – VMs, Swift objects, …….<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Yaguang Tang [mailto:<a href="mailto:yaguang.tang@canonical.com" target="_blank">yaguang.tang@canonical.com</a>]
<br>
<b>Sent:</b> Friday, May 09, 2014 4:33 AM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)</span></p><div><div class="h5"><br>
<b>Subject:</b> Re: [openstack-dev] Hierarchical administrative boundary [keystone]<u></u><u></u></div></div><p></p>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Frittoli,</span></b><u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">I think for other services we could achieve that by modifying the policy.json( add domain admin role and control what the cloud admin can do ) so that domain admin user is able to manage
resources belong to</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">users and projects in that domain. </span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p>
<div>
<p class="MsoNormal">2014-05-09 15:24 GMT+08:00 Frittoli, Andrea (HP Cloud) <<a href="mailto:frittoli@hp.com" target="_blank">frittoli@hp.com</a>>:<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
<b>From:</b> Adam Young [mailto:<a href="mailto:ayoung@redhat.com" target="_blank">ayoung@redhat.com</a>]
<br>
<b>Sent:</b> 09 May 2014 04:19<br>
<b>To:</b> <a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a><br>
<b>Subject:</b> Re: [openstack-dev] Hierarchical administrative boundary [keystone]<span lang="EN-GB"><u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"> <u></u><u></u></span></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">On 05/08/2014 07:55 PM, Tiwari, Arvind wrote:<u></u><u></u></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">Hi All,<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"> <u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">Below is my proposal to address VPC use case using hierarchical administrative boundary. This topic is scheduled in
<a href="http://junodesignsummit.sched.org/event/20465cd62e9054d4043dda156da5070e#.U2wYXXKLR_9" target="_blank">
Hierarchical Multitenancy</a> session of Atlanta design summit.<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"> <u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"><a href="https://wiki.openstack.org/wiki/Hierarchical_administrative_boundary" target="_blank">https://wiki.openstack.org/wiki/Hierarchical_administrative_boundary</a><u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"> <u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">Please take a look.<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"> <u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">Arvind<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB"> <u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:.5in">
<span lang="EN-GB"><br>
<br>
<u></u><u></u></span></p>
<pre style="margin-left:.5in"><span lang="EN-GB">_______________________________________________<u></u><u></u></span></pre>
<pre style="margin-left:.5in"><span lang="EN-GB">OpenStack-dev mailing list<u></u><u></u></span></pre>
<pre style="margin-left:.5in"><span lang="EN-GB"><u></u> <u></u></span></pre>
<pre style="margin-left:.5in"><span lang="EN-GB"><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><u></u><u></u></span></pre>
<pre style="margin-left:.5in"><span lang="EN-GB"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></pre>
</blockquote>
<p class="MsoNormal" style="margin-left:.5in">
<span lang="EN-GB">Looks very good. One question: Why hierarchical domains and not Projects. I'm not disagreeing, mind you, just that I think the Nova team is going for hierarchical Projects.
<u></u><u></u></span></p>
<p class="MsoNormal"><b><i><span lang="EN-GB" style="color:#1f497d"> </span></i></b><span lang="EN-GB"><u></u><u></u></span></p>
</div>
</div>
<div class="MsoNormal" align="center" style="text-align:center"><b><i><span lang="EN-GB" style="color:#1f497d">
<hr size="2" width="100%" align="center">
</span></i></b></div>
<p class="MsoNormal"><span lang="EN-GB" style="color:#1f497d">Looks good, thank you!</span><span lang="EN-GB"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="color:#1f497d"> </span><span lang="EN-GB"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="color:#1f497d">But for this to be even more interesting nova (and other services) should be domain aware – e.g. so that a domain admin could have control
on all resources which belong to users and projects in that domain.</span><span lang="EN-GB"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="color:#1f497d"> </span><span lang="EN-GB" style="color:#888888"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="color:#1f497d">andrea</span><span lang="EN-GB" style="color:#888888"><u></u><u></u></span></p>
<p class="MsoNormal"><b><i><span lang="EN-GB" style="color:#1f497d"> </span></i></b><span lang="EN-GB" style="color:#888888"><u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></p>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:black">Tang Yaguang<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:black">Canonical Ltd. | <a href="http://www.ubuntu.com/" target="_blank">www.ubuntu.com</a> | <a href="http://www.canonical.com/" target="_blank">www.canonical.com</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:black">Mobile: <a href="tel:%2B86%20152%201094%206968" value="+8615210946968" target="_blank">+86 152 1094 6968</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:black">gpg key: 0x187F664F<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:black"> <u></u><u></u></span></p>
</div>
</div>
</div>
</div></div></div>
</div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div style="color:rgb(0,0,0);font-family:arial;font-size:small">Tang Yaguang</div><div style="color:rgb(0,0,0);font-family:arial;font-size:small">
<br></div><div style="color:rgb(0,0,0);font-family:arial;font-size:small">Canonical Ltd. | <a href="http://www.ubuntu.com/" target="_blank">www.ubuntu.com</a> | <a href="http://www.canonical.com/" target="_blank">www.canonical.com</a></div>
<div style="color:rgb(0,0,0);font-family:arial;font-size:small">Mobile: +86 152 1094 6968</div><div style="color:rgb(0,0,0);font-family:arial;font-size:small">gpg key: 0x187F664F</div><div style="color:rgb(0,0,0);font-family:arial;font-size:small">
</div></div>
</div>