Jump to: navigation, search

Difference between revisions of "Keystone"

Line 2: Line 2:
 
'''What is Keystone?'''
 
'''What is Keystone?'''
  
Keystone is the identity service used by [[OpenStack]] for authentication (authN) and high-level authorization (authZ). It currently supports token-based authN and user-service authorization. It is scalable to include oAuth, SAML and openID in future versions. Out of the box, Keystone uses a SQLite DB as an identity store with the option to connect to external LDAP.
+
Keystone is the identity service used by [[OpenStack]] for authentication (authN) and high-level authorization (authZ). It currently supports token-based authN and user-service authorization. It has recently been rearchitected to allow for expansion to support proxying external services and AuthN/AuthZ mechanisms such as oAuth, SAML and openID in future versions.
  
 
'''Meetings'''
 
'''Meetings'''
  
http://wiki.openstack.org/Meetings/KeystoneMeeting
+
* http://wiki.openstack.org/Meetings/KeystoneMeeting
  
 
'''Doc'''
 
'''Doc'''
  
http://launchpad.net/keystone
+
* http://keystone.openstack.org
  
 
'''Code'''
 
'''Code'''
Line 22: Line 22:
 
#* Non-admin users
 
#* Non-admin users
 
#* Create your own roles
 
#* Create your own roles
#* RBAC discussions: http://etherpad.openstack.org/KeystoneEssexRBAC
+
#* RBAC discussions: http://etherpad.openstack.org/canhaz
 +
# Reset baseline of code
 +
#* expandability, future development
 
# Stability
 
# Stability
 
#* Performance
 
#* Performance
 
#* Deployability
 
#* Deployability
 
#* Documentation
 
#* Documentation
# Enhancements
+
 
#* Multiple-stack/Global use case (more than one nova deploy)
+
Topics for Folsom: [[KeystoneFolsomSummitTopics]]
#* Region/location
 
#* Domains (https://blueprints.launchpad.net/keystone/+spec/keystone-domains)
 
# Federation
 
#* First: integration with LDAP/AD
 
#* Stretch: OpenID, SAML
 
# Also:
 
#* Discovery/Registry(DNS and 35357)
 
#* Metadata/tags
 
#* Impersonation
 
#* Groups
 
#* Cert-auth for services
 
#* Q+A
 
#* Signed requests
 
  
 
'''Releases'''
 
'''Releases'''
Line 50: Line 39:
 
* Essex (Keystone is part of [[OpenStack]] core for Essex)
 
* Essex (Keystone is part of [[OpenStack]] core for Essex)
 
** Call for blueprints (feature freeze by '''start '''of e-2; code freeze by start of e-4: [[EssexReleaseSchedule|http://wiki.openstack.org/EssexReleaseSchedule]])
 
** Call for blueprints (feature freeze by '''start '''of e-2; code freeze by start of e-4: [[EssexReleaseSchedule|http://wiki.openstack.org/EssexReleaseSchedule]])
*** [[Keystone-Essex-BP-UserStructure|User structure]] ([https://blueprints.launchpad.net/keystone/+spec/essex-keystone-user-structure blueprint])
+
 
*** [[Keystone-Essex-BP-AuthZ|Full AuthZ structure]] ([https://blueprints.launchpad.net/keystone/+spec/essex-keystone-authz-structure blueprint])
+
Originally Scheduled for Essex:
**** [[AuthZ - Explicit Capability Mapping]]
+
 
**** [[AuthZ - Empty Roles]]
+
* [[Keystone-Essex-BP-UserStructure|User structure]] ([https://blueprints.launchpad.net/keystone/+spec/essex-keystone-user-structure blueprint])
**** [[AuthZ - Restricted Roles]]
+
* [[Keystone-Essex-BP-AuthZ|Full AuthZ structure]] ([https://blueprints.launchpad.net/keystone/+spec/essex-keystone-authz-structure blueprint])
** [[Keystone-Essex-Scopes|Scopes]]
+
* [[AuthZ - Explicit Capability Mapping]]
*** [http://www.simplecloud.info/ SCIM protocol] (blueprint)
+
* [[AuthZ - Empty Roles]]
*** Service endpoint location (https://blueprints.launchpad.net/keystone/+spec/service-endpoint-location)
+
* [[AuthZ - Restricted Roles]]
*** Federated Auth-Z requirements for Zones - [[FederatedAuthZwithZones]]
+
* [[Keystone-Essex-Scopes|Scopes]]
**** The Service (ie: nova) shouldn't really care about the Role of the user. But we should be able to go back to the Auth-Z service to say "Can <token> [execute verb] on <some resource>" and get back a True/False from keystone. Nova itself, for example, shouldn't have to remember what capabilities a role has. But this may be cached.
+
* [http://www.simplecloud.info/ SCIM protocol] (blueprint)
** Identifying full-path URI for Keystone-Token [[Keystone-Essex-Federated-Token|(Keystone-Essex-Federated-Token]])
+
* Service endpoint location (https://blueprints.launchpad.net/keystone/+spec/service-endpoint-location)
*** SQL schema migrations (ie - sqlalchemy-migrate migrations).
+
* Federated Auth-Z requirements for Zones - [[FederatedAuthZwithZones]]
 +
* The Service (ie: nova) shouldn't really care about the Role of the user. But we should be able to go back to the Auth-Z service to say "Can <token> [execute verb] on <some resource>" and get back a True/False from keystone. Nova itself, for example, shouldn't have to remember what capabilities a role has. But this may be cached.
 +
* Identifying full-path URI for Keystone-Token [[Keystone-Essex-Federated-Token|(Keystone-Essex-Federated-Token]])
 +
* SQL schema migrations (ie - sqlalchemy-migrate migrations).
 
* Folsom
 
* Folsom
 
** [[KeystoneFolsomSummitTopics|Summit Topics]]
 
** [[KeystoneFolsomSummitTopics|Summit Topics]]
** Call for blueprints
 
**
 

Revision as of 18:24, 17 February 2012

What is Keystone?

Keystone is the identity service used by OpenStack for authentication (authN) and high-level authorization (authZ). It currently supports token-based authN and user-service authorization. It has recently been rearchitected to allow for expansion to support proxying external services and AuthN/AuthZ mechanisms such as oAuth, SAML and openID in future versions.

Meetings

Doc

Code

Essex Roadmap (as per current discussions in OpenStack Design Summit in Boston - October 2011):

  1. RBAC (with Dashboard and core project integration) <
    >
  2. Reset baseline of code
    • expandability, future development
  3. Stability
    • Performance
    • Deployability
    • Documentation

Topics for Folsom: KeystoneFolsomSummitTopics

Releases

Originally Scheduled for Essex: