<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks for pointing out that this is already supported. Indeed this single reader role (while scoped appropriately) covers the needs I was thinking about.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I missed the fact that we could have system and domain scoping.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<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""> Lance Bragstad [mailto:lbragstad@gmail.com]
<br>
<b>Sent:</b> Thursday, December 13, 2018 7:06 PM<br>
<b>To:</b> openstack-discuss@lists.openstack.org<br>
<b>Subject:</b> Re: [keystone] Re: Meaning of role name: auditor versus reader<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal">I was under the assumption that the ``reader`` role wouldn't be specific to the actions of either operators or regular end users. I thought the intention was to leverage the scope of the assignment to answer that question for us.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">For example:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Let's assume Sarah is granted the reader role on the system (``openstack role add --user sarah --system all reader``). In theory, she has the ability to list system-specific resources, like endpoints, services, domains, or compute hosts.
 She can perform audits on the deployment infrastructure. If Chris has the reader role on a project (``openstack role add --user chris --project foobar reader``), he should theoretically have the ability to list instances and volumes within the project. Even
 though Chris has the reader role, he doesn't have the ability to list system-specific resources, because he doesn't have the system role assignment Sarah has.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">We can expand the example to include domain support, too. If Jane has a reader role on a domain (``openstack role add --user jane --domain baz reader``), she theoretically has the ability to view things owned by that domain, like users,
 groups, or projects whose domain ID is ``baz``.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The same role is used in all three cases, but the target in each user's role assignment is important, too. This might be easier to see in practice between system [0], domain] [1], and project [2] readers all using the ``reader`` role. In
 my opinion, this gives us more bang for our buck as far as role definitions are concerned. We aren't worried about defining system-reader, domain-reader, and project-reader roles. Additionally, I cringe a little bit thinking about the custom policy required
 for those cases and the confusion operators might have when Jane gets the project-reader role assignment on a domain.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[0] <a href="https://review.openstack.org/#/c/619329/3/keystone/tests/unit/protection/v3/test_endpoints.py@31">https://review.openstack.org/#/c/619329/3/keystone/tests/unit/protection/v3/test_endpoints.py@31</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://review.openstack.org/#/c/619332/4/keystone/tests/unit/protection/v3/test_endpoints.py@131">https://review.openstack.org/#/c/619332/4/keystone/tests/unit/protection/v3/test_endpoints.py@131</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://review.openstack.org/#/c/619281/5/keystone/tests/unit/protection/v3/test_endpoints.py,unified@376">https://review.openstack.org/#/c/619281/5/keystone/tests/unit/protection/v3/test_endpoints.py,unified@376</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Dec 13, 2018 at 8:27 AM Colleen Murphy <<a href="mailto:colleen@gazlene.net">colleen@gazlene.net</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12.0pt">Tagging keystone<br>
<br>
On Thu, Dec 13, 2018, at 3:18 PM, <a href="mailto:cristian.calin@orange.com" target="_blank">
cristian.calin@orange.com</a> wrote:<br>
> As operators, we have a need for both cases and actually a 3rd one as <br>
> well which should be domain scoped.<br>
> I think the definition of reader should also include a scope (cloud-<br>
> wide, domain specific or project specific) so that we don’t need <br>
> different roles.<br>
> This might be a more fundamental change though as the scoping is static <br>
> today, I mean defined in the policy files/code.<br>
> <br>
> Cristian Calin<br>
> <br>
> From: Adam Young [mailto:<a href="mailto:ayoung@redhat.com" target="_blank">ayoung@redhat.com</a>]
<br>
> Sent: Thursday, December 13, 2018 3:09 AM<br>
> To: List, OpenStack<br>
> Subject: Meaning of role name: auditor versus reader<br>
> <br>
> We've recently come to accept reader as one of the default roles.  <br>
> However, one thing that is not clear to me is the intention:  is this <br>
> designed to be the readonly set of operations that an admin can do, or <br>
> the read only set of operations that a member can do?<br>
> <br>
> Should we really have two read-only roles, one for each case?  Perhaps <br>
> the admin-read-only should be called auditor, and then reader is for <br>
> member only operations?<br>
> <br>
> _________________________________________________________________________________________________________________________<br>
> <br>
> Ce message et ses pieces jointes peuvent contenir des informations <br>
> confidentielles ou privilegiees et ne doivent donc<br>
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez <br>
> recu ce message par erreur, veuillez le signaler<br>
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages <br>
> electroniques etant susceptibles d'alteration,<br>
> Orange decline toute responsabilite si ce message a ete altere, deforme <br>
> ou falsifie. Merci.<br>
> <br>
> This message and its attachments may contain confidential or privileged <br>
> information that may be protected by law;<br>
> they should not be distributed, used or copied without authorisation.<br>
> If you have received this email in error, please notify the sender and <br>
> delete this message and its attachments.<br>
> As emails may be altered, Orange is not liable for messages that have <br>
> been modified, changed or falsified.<br>
> Thank you.<br>
> <o:p></o:p></p>
</blockquote>
</div>
</div>
<PRE>_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.
</PRE></body>
</html>