openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #01879
Re: Proposing an Identity Service in OpenStack (a.k.a. Auth)
Looks good! I'm looking forward to the summit discussions. Beyond
pluggable backends, I would make sure other layers remain pluggable
as well (the auth mechanism, protocols to verify, etc). The use cases
I have in mind are:
* All common forms of HTTP auth.
* OpenID, OAuth, and any other open initiatives.
* Signatures (for ec2 compatibility)
* SASL mechamisms?
* AuthN/AuthZ from non-HTTP based protocols. For example the MySQL
protocol for DBaaS requires either plaintext storage of the password
(which we shouldn't do) or a custom hash.
We'll also want to decide if we need a default mechanism for
OpenStack deployments, and if so, what should it be. We had a
discussion previously and I think it was somewhere between token
and HTTP basic w/ SSL. The reason for this is we need to make sure
different deployments are compatible.
-Eric
On Mon, Apr 18, 2011 at 06:42:22AM -0500, Ziad Sawalha wrote:
> Hi Everyone,
> For OpenStack to achieve the goal of being a "massively scalable cloud
> operating system", it needs a common approach to some of the problems that
> an "operating system"deals with such as Authentication (auth-n) and
> Authorization (auth-z). There has been much discussion on the topic (see
> below) so we are proposing we combine all these efforts into a new
> OpenStack project that addresses the auth of all other projects.
> I would like to raise this for discussion at the upcoming summit in Santa
> Clara and put forward the following as a starting point for the
> discussion:
> SCOPE
> The potential scope for an auth service is huge; this is not a simple
> problem, especially when you deal with authorization and, eventually,
> usage metering. We suggest we start with a minimum viable product (MVP)
> and that the most immediate requirements that need to be addressed are
> what has already been solved for in Swift and Nova today.
> We propose to start building in (1-2 week) iterations during the Diablo
> development phase:
> * One Service: there should be one auth-n service (this does not presume
> or preclude auth-z)
> * Service is a new Core service
> * Protocol: initial implementation of Rackspace auth token
> * Anyscale: single dev machine to globally distributed
> * Integrate with Swift, Nova
> * Independent: I can run this on its own (no coupling to other services).
> Therefore can be installed and run with any services that are OpenStack
> compatible.
> TIMELINE
> Iteration 0 (1-2 weeks): MVP prototype
> * blueprint
> * We need lightweight delegation (one tenant / multiple users) on validate
> (this extends scope of what is in Rackspace and Swift, but is needed for
> Nova)
> * No delegation beyond existing Nova and Swift implementation
> * Using a Token
> * Admin is handled by "groups" (roles) - only group allowed to be returned
> is ADMIN
> * nothing as a Service for testing.
> Post MVP: iteration 2/3/...: defined from subset of backlog & feedback
> from community
> Backlog:
> * migration path from cactus
> * support for ec2 & openstack api
> * zones support
> * authz by group/role/attribute/... with pluggable Policy Engine
> * Pluggable back-end (ex: database, LDAP, Active Directory, PAM, Swift)
> * rbac / roles
> * Delegation
> * OAuth for solving 3rd party partner problem / federation
> * (Generic?) Organizational Model
> * user management API
> DESIGN SUMMIT
> * We are looking forward to starting a discussion with the community on
> how to incrementally define and execute on a common Auth system for
> OpenStack
> ADDITIONAL INFORMATION
> For reference, existing blueprints and discussions on the topic are:
> SPECS and CODE
> http://wiki.openstack.org/AuthnAuthz (spec and discussion)
> http://wiki.openstack.org/openstack-authn (spec)
> http://bazaar.launchpad.net/~anso/nova/authn_and_authz/revision/770 (auth
> service prototype)
> https://code.launchpad.net/~khussein/swift/authn (middleware proposal)
> SWIFT
> https://blueprints.launchpad.net/swift/+spec/swift-authn
> https://blueprints.launchpad.net/swift/+spec/bexar-swauth
> NOVA
> https://blueprints.launchpad.net/nova/+spec/authentication-consistency
> https://blueprints.launchpad.net/nova/+spec/nova-authn
> GLANCE
> https://blueprints.launchpad.net/glance/+spec/authentication
> BURROW
> https://blueprints.launchpad.net/burrow/+spec/openstack-auth-ldap
> Regards,
> Ziad
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
Follow ups
References