> On Apr 26, 2015, at 22:35, Dolph Mathews <dolph.math...@gmail.com> wrote:
> 
> 
>> On Sunday, April 26, 2015, Jamie Lennox <jamielen...@redhat.com> wrote:
>> 
>> 
>> ----- Original Message -----
>> > From: "German Eichberger" <german.eichber...@hp.com>
>> > To: "OpenStack Development Mailing List (not for usage questions)" 
>> > <openstack-dev@lists.openstack.org>
>> > Sent: Saturday, 25 April, 2015 8:55:23 AM
>> > Subject: Re: [openstack-dev] [Neutron][Keystone] [Nova] How to validate 
>> > teanant-id for admin operation
>> >
>> >
>> >
>> > Hi Brant,
>> >
>> >
>> >
>> > Sorry, for being confusing earlier. We have operations an
>> > administrator/operator is performing on behalf of a user, e.g. “Create
>> > Loadbalancer X for user tenant-id 123”. Now we are not checking the
>> > tenant-id and are wondering how to make the operation more robust with
>> > kesyone’s help.
>> >
>> >
>> >
>> > Thanks,
>> >
>> > German
>> 
>> Not to speak for Brant, but i think the confusion here is why you are doing 
>> this. From my perspective you should never be in a position where the admin 
>> has to enter a raw project id like that.
>> 
>> I think the problem here is the assumption of an all powerful admin user, 
>> and i'd encourage you to change your policy files to scrap that idea. A role 
>> is granted on a project and this project is mentioned in the token. If there 
>> is some role that is provided that lets you perform operations outside of 
>> the project id specified in that token please file a bug and i'd consider 
>> marking it a security issue.
>> 
>> The X-Service-Token concept will allow for the combination of a user token 
>> and a service token to authenticate an action, so the user can ask for an 
>> action to be performed on it's behalf via a service - and in which case the 
>> user's project id is communicated via the token.
>> 
>> In lieu of all this the quick answer is no. If you are taking a project id 
>> from the command line and you want to validate its existence then you have 
>> to ask keystone, but you should always be getting this information from a 
>> token.
> 
> +1 all the above
>  

As a bit of an expansion from what Jamie said, the project that is in the token 
is known to exist as the token validates the existence of a project before 
issuing a token scoped for it. 

>> 
>> Jamie
>> 
>> >
>> > From: Brant Knudson [mailto:b...@acm.org]
>> > Sent: Friday, April 24, 2015 11:43 AM
>> > To: OpenStack Development Mailing List (not for usage questions)
>> > Subject: Re: [openstack-dev] [Neutron][Keystone] [Nova] How to validate
>> > teanant-id for admin operation
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Fri, Apr 24, 2015 at 11:53 AM, Eichberger, German <
>> > german.eichber...@hp.com > wrote:
>> >
>> > All,
>> >
>> > Following up from the last Neutron meeting:
>> >
>> > If Neutron is performing an operation as an admin on behalf of a user that
>> > user's tenant-id (or project-id) isn't validated - in particular an admin
>> > can mistype and create object on behalf of non existent users. I am
>> > wondering how other projects (e.g. Nova) deal with that and if there is 
>> > some
>> > API support in keystone to save us a round trip (e.g. authenticate admin +
>> > validate additional user-id).
>> >
>> >
>> >
>> >
>> >
>> > Not to long ago we got support in the auth_token middleware for a "service"
>> > token in addition to the user's token. The user token is sent in the
>> > x-auth-token header and the service token is sent in the x-service-token,
>> > and then fields from both tokens are available to the application (e.g., 
>> > the
>> > user project is in HTTP_X_PROJECT_ID and the service token roles are in
>> > HTTP_X_SERVICE_ROLES). So you could potentially have a policy rule on the
>> > server for the operation that required the service token to have the
>> > 'service' role, and what neutron could do is send the original user token 
>> > in
>> > x-auth-token and send its own token as the service token. This seems to be
>> > what you're asking for here.
>> >
>> >
>> > - Brant
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > Thanks,
>> > German
>> >
>> > __________________________________________________________________________
>> > OpenStack Development Mailing List (not for usage questions)
>> > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> >
>> >
>> >
>> >
>> > __________________________________________________________________________
>> > OpenStack Development Mailing List (not for usage questions)
>> > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> >
>> 
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to