Openstack中的keystone服务的相关理解
Keystone主要功能:管理用户及其权限;维护openstack service的endpoint;Authentication(认证)和Authorization(授权)。
在keystone服务中涉及到三个组件:Server、Drivers和Modules。
Serve组件:提供一个RESTful的接口,接收用户的请求并对其进行认证以及授权。
Drivers组件:主要从后端存储获取用户的身份信息,比如从数据库获取相关信息。
Modules组件:也称中间件模块,运行在会用到Keystone服务的其他openstack的组件空间中,这些模块拦截服务请求,提取用户凭据,并将它们发送到Serve进行授权。
针对图片所示:WebServer或者APP向openstack 中的keystone服务发起请求,首先是Server组件在接收到请求后,通过Driver从后台DB中获取用户相关信息对其进行相关授权判定。
然后是Modules,在计算服务/网络服务/存储服务中,涉及到了关于身份验证的请求的时候,拦截获取信息,发送给Server进行最后授权,server接下来就是通过Drivers获取信息进行授权。最终完成相关服务的身份服务。