Keystone在OpenStack中的作用

1、Service Provider(SP) 为终端用户提供服务

2、Identity Provider(IdP) 存储用户和组信息的服务


经典授权方式

包括用户、项目和角色。针对用户关联的某个特定项目执行身份认证身份认证成功后会返回一个持有人token其中包含该用户在这个项目上的角色该用户要求Openstack组件代表它执行一个操作的时候该组件会调用自己的policy引擎检查该token及其包含的角色确认用户是否有权限执行该操作。


利用Federation支持的授权方式

用户信息不再存储在keystone中直接从身份提供程序中获取用户信息不存在keystone中不能再通过一个项目来关联用户和角色的方法来获取了。keystone的实现是使用组来支持利用与用户关联的身份提供程序对用户进行身份验证时身份提供程序返回和用户关联的属性通过一条规则基于这些属性将用户映射到一个keystone组。

现在支持的两种federation协议SAML和OpenID。



参考链接

http://www.ibm.com/developerworks/cn/cloud/library/cl-keystone-tfim/

http://docs.openstack.org/developer/keystone/configure_federation.html

https://www.openstack.org/assets/presentation-media/os-federation-final.pdf