<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 29, 2013 at 12:02 AM, Samuel Merritt <span dir="ltr"><<a href="mailto:sam@swiftstack.com" target="_blank">sam@swiftstack.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On 3/28/13 8:06 AM, Dolph Mathews wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
That's basically up to the identity driver in use -- for example, with<br>
the SQL driver, if your database is case sensitive, then keystone will<br>
be as well.<br>
</blockquote>
<br></div>
That raises an interesting question about authorization with Keystone.<br>
<br>
In Swift, we have container ACLs that are of one of three* forms:<br>
<br>
(A) tenant_name:user_id<br>
(B) tenant_id:user_id<br>
(C) *:user_id<br>
<br>
Form A is the interesting one here. Let's say I have a container on which I have set a read ACL of "CamelCorp:12345". Then, a request comes in, and when Swift's keystoneauth middleware** gets called, it sees that the tenant name retrieved from Keystone is "Camelcorp" (different case!), and the user id is 12345 (a match).<br>
<br>
Should that request be allowed or not?<br></blockquote><div><br></div><div style>Absolutely not -- I didn't mean to suggest that case-insensitivity should be supported. What I meant to suggest was that if you're seeing case-insensitivity, something is either misconfigured or broken in keystone's backend/driver.</div>
<div style><br></div><div style>As you alluded to the ID examples not being "interesting", it's worth pointing out that's because ID's are all lowercase anyway (generally produced by uuid4().hex), so there's not any risk there.</div>
<div style><br></div><div style>I also wrote some tests to ensure case sensitivity within identity drivers as I think it's worth being paranoid about: <a href="https://review.openstack.org/#/c/25713/">https://review.openstack.org/#/c/25713/</a></div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<br>
* okay, there's the .r: stuff for referrer-based ACLs, but that's not germane to this discussion<br>
<br>
** swift.common.middleware.<u></u>keystoneauth.KeystoneAuth, for those who wish to read the code<div class=""><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.<u></u>org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>