[openstack-dev] [Keystone] Trusts and Explicit Impersonation

Adam Young ayoung at redhat.com
Tue Dec 11 19:52:53 UTC 2012


On 12/11/2012 01:53 PM, Matt Joyce wrote:
> I think there is a question as to the nature of what is a fully 
> qualified cloud instance.
>
> In physical hosting land it was easy enough.  Right IP, right DNS 
> forwards and reverse, and occasionally some form of signing on top of 
> that.
>
> With cloud there is a fundamentally different environment that 
> promotes new needs.
>
> Basically, from my perspective this ties into a basic need.  How can a 
> service token or user token know that it is executing from the 
> instance or tenant it was intended to fire from.  Right now it's 
> simple, we don't care if it is or isn't.  But, we won't survive long 
> before we need to address this.
>
> The question becomes, how are we going to sign the tokens that we 
> create so as to exist as part of a tenant?  or specific to an 
> instance?  and how will we be sure that those tokens are not going 
> beyond those boundaries.
Tickets are going to be signed by Keystone.  The user needs to be able 
to authenticate to Keystone to get the ticket. We can limit access to 
keystone.  But the requests come through via HTTP and we don't have 
SPNEGO/GSSAPI.  If we want to limit access to a host, it would have to 
be based on the ipaddress of the requestor, which is in the HTTP 
payload.  I think that would need the full ABAC implementation to enforce.

>
> This I think is important to at least think about before moving 
> forward.  We're talking about things such as service ticket 
> equivalents, and those have traditionally required FQDNs for a 
> reason.  But in this modern age, an FQDN is no longer going to service 
> our needs.  More to the point, how will we be able to export service 
> tickets then outside of our cloud environment?
THe delegation Blueprint starts to address this. I would appreciate 
getting a review of it, and hearing your feedback:

http://wiki.openstack.org/keystone/Delegation

>
>
>
> -Matt
>
> On Tue, Dec 11, 2012 at 7:01 AM, Adam Young <ayoung at redhat.com 
> <mailto:ayoung at redhat.com>> wrote:
>
>     On 12/11/2012 08:06 AM, David Chadwick wrote:
>
>         Hi Mark
>
>         I am finding it difficult to understand your use case. Can you
>         help me please. If Nova is the compute service, then surely it
>         is able to upload any images that it wants to, otherwise how
>         can they run? Isnt it the case that Nova is the service
>         provider, which has a policy that says who is entitled to
>         upload images to it? Someone, say the deployer, sets this
>         policy. So say the policy is "role X can upload images", then
>         any user who can authenticate to Keystone and be assigned role
>         X is able to upload images. Doesnt this provide the
>         functionality you need?
>
>
>     David, if I understand what he is asking, he only wants Nova to be
>     able to upload the images; a user can't upload any old image, just
>     the ones somehow gated by Nova.   But the image should still be
>     owned by the user that triggered the upload.Its an interesting use
>     case, but not something we would be able to support in the Grizzly
>     time frame, and not something that I would put under explicit
>     impersonation, but rather something of the nature of policy
>     enforcement.  They might be able to do it built on trusts if they
>     had a policy that requires the token have the additional value of
>     "trustee=nova"
>
>
>
>         regards
>
>         David
>
>
>         On 10/12/2012 21:12, Mark Washenberger wrote:
>
>                     I must be missing something. Thanks in advance for
>                     correcting me!
>
>
>                 Why would the user not have the role?
>
>
>             The idea behind this feature is that the user is not
>             authorized to
>             upload an image, but Nova is authorized to upload an image
>             on the
>             user's behalf. This feature would not be turned on by
>             default, but it
>             should be available at a deployer's discretion.
>
>             On Mon, Dec 10, 2012 at 12:14 PM, Adam Young
>             <ayoung at redhat.com <mailto:ayoung at redhat.com>> wrote:
>
>                 On 12/10/2012 02:41 PM, Mark Washenberger wrote:
>
>
>                     So, in the case of this feature, the trustor (end
>                     user) is going to
>                     delegate to the trustee (Glance) a role that the
>                     trustor himself does
>                     not have? (Namely, some role that allows image
>                     uploads.) That seems to
>                     violate the spirit of the the spec.
>
>
>                 Nope.  The user needs to have the role in the first place.
>
>                     I must be missing something. Thanks in advance for
>                     correcting me!
>
>
>                 Why would the user not have the role?
>
>
>                     markwash
>
>                     On Mon, Dec 10, 2012 at 10:56 AM, Yee, Guang
>                     <guang.yee at hp.com <mailto:guang.yee at hp.com>> wrote:
>
>
>                         I think the current trust BP should cover your
>                         use case.
>
>                         http://wiki.openstack.org/Keystone/Trusts
>
>                         In your case, the trustee would be Image
>                         Service or endpoint.
>
>
>                         Guang
>
>
>                         -----Original Message-----
>                         From: Mark Washenberger
>                         [mailto:mark.washenberger at markwash.net
>                         <mailto:mark.washenberger at markwash.net>]
>                         Sent: Monday, December 10, 2012 10:36 AM
>                         To: OpenStack Development Mailing List
>                         Subject: Re: [openstack-dev] [Keystone] Trusts
>                         and Explicit Impersonation
>
>                         David, Adam, (other Trusts/Auth folks. . .),
>
>                         Any thoughts on this?
>
>                         Thanks!
>
>
>                                 From: Mark Washenberger
>                                 [mailto:mark.washenberger at markwash.net
>                                 <mailto:mark.washenberger at markwash.net>]
>                                 Sent: Friday, December 07, 2012 8:53 PM
>                                 To: OpenStack Development Mailing List
>                                 Subject: [openstack-dev] Trusts and
>                                 Explicit Impersonation
>
>
>
>                                 Hi auth guys!
>
>
>
>                                 As we continue to make progress
>                                 towards large service providers
>                                 exposing
>                                 their Glance deployments as public
>                                 services, one critical feature we
>                                 need
>
>
>                         to
>
>
>                                 support is the ability to limit
>                                 certain actions (mostly image uploads,
>
>
>                         also
>
>
>                                 possibly image downloads) to use by
>                                 Nova or other trusted services, and
>                                 restrict users from taking those
>                                 actions directly. Of course, this
>
>
>                         feature
>
>
>                                 would only be turned on by
>                                 configuration, and not likely by default.
>
>
>
>                                 I had figured we could do this using
>                                 some features piggy-backed on
>                                 keystone pki, and documented the use
>                                 case in this blueprint:
>
>
>                         https://blueprints.launchpad.net/keystone/+spec/keystone-explicit-impersonat
>
>                         ion
>
>
>
>
>                                 I've been following the discussion of
>                                 Keystone Trusts with interest,
>                                 and
>                                 some questions have presented
>                                 themselves. Is there some way we could
>                                 manipulate the Trust mechanism to
>                                 provide the auth feature Glance
>                                 needs?
>                                 Another (scarier for me) question:
>                                 does the Trusts proposal conflict
>                                 with
>
>
>                         my
>
>
>                                 feature request?
>
>
>
>                                 Thanks!
>
>                                 Mark
>
>
>
>
>
>
>                                 _______________________________________________
>                                 OpenStack-dev mailing list
>                                 OpenStack-dev at lists.openstack.org
>                                 <mailto:OpenStack-dev at lists.openstack.org>
>                                 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>                         _______________________________________________
>                         OpenStack-dev mailing list
>                         OpenStack-dev at lists.openstack.org
>                         <mailto:OpenStack-dev at lists.openstack.org>
>                         http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>                         _______________________________________________
>                         OpenStack-dev mailing list
>                         OpenStack-dev at lists.openstack.org
>                         <mailto:OpenStack-dev at lists.openstack.org>
>                         http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>                     _______________________________________________
>                     OpenStack-dev mailing list
>                     OpenStack-dev at lists.openstack.org
>                     <mailto:OpenStack-dev at lists.openstack.org>
>                     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
>                 _______________________________________________
>                 OpenStack-dev mailing list
>                 OpenStack-dev at lists.openstack.org
>                 <mailto:OpenStack-dev at lists.openstack.org>
>                 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>             _______________________________________________
>             OpenStack-dev mailing list
>             OpenStack-dev at lists.openstack.org
>             <mailto:OpenStack-dev at lists.openstack.org>
>             http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>         _______________________________________________
>         OpenStack-dev mailing list
>         OpenStack-dev at lists.openstack.org
>         <mailto:OpenStack-dev at lists.openstack.org>
>         http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>     _______________________________________________
>     OpenStack-dev mailing list
>     OpenStack-dev at lists.openstack.org
>     <mailto:OpenStack-dev at lists.openstack.org>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121211/4e9a764f/attachment.html>


More information about the OpenStack-dev mailing list