keystone的详细功能
keystone的基本概念
- User(用户):用户身份认证,一个用户可以关联多个租户,
- Tenant(租户):相当于用户组的概念,一个Tenant可以容纳多个用户
- Role(角色):关联到user和tenant,
- server(服务):服务的类型和名称(一般类型有identity,compute,network,image,object-store。)
- Endpoint(端点):服务的实例,(URL的入口)
keystone的模块;
- Token;用来生成管理token
- Catalog: 用来存储和管理service和endpoint
- indetity:用来管理user,tenant,role的认证
- Policy:用来管理访问权限
keystone的流程解释:
1,用户香keystone发送用户名和密码,通过验证之后,keystone会向临时I用户返回一个临时的token和service catalog,
2,用户用这个临时的token向catalog列表中的keystone的endpoint请求tanant,如果通过验证则返回tenant
信息
3,用户向列表中选取tenant,再次行keysone请求,keytone验证通过后返回与该tenant相关的的catalog信息和token,
4,用户用token以及tenant向catalog中的nava服务端点请求开虚拟机,nova向keystone验证请求是否合法,a,token是合法,b,这个租户是否有权限向nova请求服务;
5,keystone返回nova,a该租户具有访问权限,b,token合法,c,token属于该租户
6,nova根据自己的规则来判断用户是否具有开启虚拟机的权利,如果有则开启,并向用户报告状态,
keystone:包含一个命令行接口,可以与keystone api交互,管理相关的服务;
keystone-all:用于验证,面向管理员和和用户的api;
keystone-manage;管理keystone命令行接口,用户管理和keystone相连接的数据库;
keytone token-get 获取token
创建服务
keystone service-create --name=keystone – type=identity --description="Keystone Identity Service“
keystone endpoint-create --service_id c27c729c081447b283db6aa405a2fa55 – publicurl ‘http://192.168.1.188:5000/v2.0’ – adminurl ‘http://192.168.1.188:35357/v2.0’ – internalurl ‘http://192.168.1.188:5000/v2.0’ – region admin
1
2
3
4
Token Formats:
1,uuid :通用唯一识别码 (Universally Unique
Identifier),这是一个软件建构的标准,
[token]
provider=kestone.token.providers.uuid.Provider
2,pki :Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;
3,pkiz :
【2.3】的配置如下:
provider=keystone.token.provicers.[pki|pkiz].Provider
[signing]
cerfile=/….(证书签名文件路径)
keyfile=/….(证书密钥路径)
ca_certs=/…(证书路径)