一、含义
keystone是openstack框架中,负责身份验证、服务规则和服务令牌的功能,它实现了OpenStack的Identity API。keystone类似一个服务总线,
或者说是整个openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint(服务访问的url),任何服务之间的相互调用,需要经过
keystone的身份验证,来获得目标服务的Endpoint来找到目标服务。
keystone组件主要的服务有:Token Service(用户认证后权限),Catalog Service(用户可用的服务),Policy Service(用户访问服务规则)
二、关键字基本概念
1. User
即用户,他们代表可以通过keystone进行访问的人或程序。Users通过认证信息(credentials,如密码、API Keys)进行验证。
2. Tenant
即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中的一个tenant可以是一些机器,在Swift和Glance中的一个tenant可以是
一些镜像存储,在Quantum中一个tenant可以是一些网络资源。Users默认的总是绑定到某些tenant上。
3. Role
即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。Users可以被添加到任意一个全局的或租户内的
角色中。在全局role中,用户的role权限作用于所有的租户,即可以对所有的租户执行role规定的权限;在租户内的role中,用户仅能在当前
租户内执行role规定的权限。
4. Service
即服务,如Nova、Glance、Swift。一个服务可以确认当前用户是否具有访问其资源的权限。
5. Endpoint
可以理解为一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。
在keystone中包含一个endpoint模板(endpoint template,在安装keystone的时候我们可以在conf文件夹下看到这个文件),这个模板提供了所有
存在的服务的endpoints信息。