On 5/30/2018 9:53 AM, Lance Bragstad wrote:
While scope isn't explicitly denoted by an
attribute, it can be derived from the attributes of the token response.


Yeah, this was confusing to me, which is why I reported it as a bug in the API reference documentation:

https://bugs.launchpad.net/keystone/+bug/1774229

* It looks like python-openstackclient doesn't allow specifying a
scope when issuing a token, is that going to be added?
Yes, I have a patch up for it [6]. I wanted to get this in during
Queens, but it missed the boat. I believe this and a new release of
oslo.context are the only bits left in order for services to have
everything they need to easily consume system-scoped tokens.
Keystonemiddleware should know how to handle system-scoped tokens in
front of each service [7]. The oslo.context library should be smart
enough to handle system scope set by keystonemiddleware if context is
built from environment variables [8]. Both keystoneauth [9] and
python-keystoneclient [10] should have what they need to generate
system-scoped tokens.

That should be enough to allow the service to pass a request environment
to oslo.context and use the context object to reason about the scope of
the request. As opposed to trying to understand different token scope
responses from keystone. We attempted to abstract that away in to the
context object.

[6]https://review.openstack.org/#/c/524416/
[7]https://review.openstack.org/#/c/564072/
[8]https://review.openstack.org/#/c/530509/
[9]https://review.openstack.org/#/c/529665/
[10]https://review.openstack.org/#/c/524415/

I think your reply in IRC was more what I was looking for:

lbragstad mriedem: if you install https://review.openstack.org/#/c/524416/5 locally with devstack and setup a clouds.yaml, ``openstack token issue --os-cloud devstack-system-admin`` should work 15:39
lbragstad       http://paste.openstack.org/raw/722357/  15:39

So users with the system role will need to create a token using that role to get the system-scoped token, as far as I understand. There is no --scope option on the 'openstack token issue' CLI.

Uhm, if I understand your question, it depends on how you define the
scope types for those APIs. If you set them to system-scope, then an
operator will need to use a system-scoped token in order to access those
APIs iff the placement configuration file contains placement.conf
[oslo.policy] enforce_scope = True. Otherwise, setting that option to
false will log a warning to operators saying that someone is accessing a
system-scoped API with a project-scoped token (e.g. education needs to
happen).


All placement APIs will be system scoped for now, so yeah I guess if operators enable scope enforcement they'll just have to learn how to deal with system-scope enforced APIs.

Here is another random question:

Do we have any CI jobs running devstack/tempest with scope enforcement enabled to see what blows up?

--

Thanks,

Matt

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to