一、Keystone介绍
Keystone(OpenStack Identity Service)是OpenStack框架中,负责身份验证、服务规则和服务令牌的功能, 它实现了OpenStack的Identity API。Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Keystone的身份验证, 来获得目标服务的Endpoint来找到目标服务。
Keystone主要功能:管理用户及其权限;
维护OpenStack Services的Endpoint;
Authentication(认证)和Authorization(授权)。
二、Keystone主要组件
1、Server
提供一个RESTful的接口,接收用户的请求并对其进行认证以及授权。
2、Drivers
这个已经默认集成到Server中了,主要从后端存储获取用户的身份信息,比如从数据库或者LDAP中获取。
3、Modules
中间件模块运行在会用到Keystone服务的其他的OpenStack的组件的空间中,这些模块拦截服务请求,提取用户凭据,并将它们发送到Server进行授权。使用Python WEB接口来整合中间件模块和OpenStack其他组件的通信,比如这些模块可以运行在镜像服务的空间中,也可以运行在计算服务的空间中。
三、Keystone的重要概念
1、User(用户)
User指代任何使用OpenStack的实体,可以是真正的用户,其他系统或者服务。当User请求访问OpenStack时,Keystone会对其进行验证。