keystone

2016-12-12  本文已影响0人  crowns

keystone知识点

Paste_Image.png

keystone主要功能:

1. 用户管理(User Management)

1.1 相关概念

在V2中,结构比较简单,用一个三角形就可以明白


Paste_Image.png Paste_Image.png

Keystone V3中的概念就比较多了,也相对复杂,文档较少,比较推荐下面的文章:

Paste_Image.png

2. 认证(Authentication )

Keystone有四种Token分别是 UUID、PKI、PKIZ、Fernet

四种token的生成方式演化过程:


2.png

比较各种方式的优缺点:

Token 类型 UUID PKI PKIZ Fernet
大小 32 Byte KB 级别 KB 级别 约 255 Byte
支持本地认证 不支持 支持 支持 支持
Keystone 负载
存储于数据库
携带信息 user, catalog 等 user, catalog 等 user 等
涉及加密方式 非对称加密 非对称加密 对称加密
是否支持压缩
版本支持 D G J K
优点 生成的Token,长度较短,使用方便。url使用方便,回收的方式,就是从后端删除即可,实现逻辑较为清晰。 使用证书及私钥生成,可以线下验证(不需要走keystone认证服务) 较PKI长度上缩小了很多 设计的逻辑,引入序列化,负载格式加以控制,基于此进行加密,长度比PKI、PKIZ要短。
缺点 需要持久化后端存储,每次访问需要keystone相关服务进行认证。 长度负载重,不推荐用于生产部署,经常由于长度超长引起错误。 长度负载较重,同上PKI 对称加密算法,安全性低,需要周期性更换秘钥

Token 类型的选择涉及多个因素,包括 Keystone server 的负载、region 数量、安全因素、维护成本以及 token 本身的成熟度。region 的数量影响 PKI/PKIZ token 的大小,从安全的角度上看,UUID 无需维护密钥,PKI 需要妥善保管 Keystone server 上的私钥,Fernet 需要周期性的更换密钥。

3. 授权(Authorization)

对于访问控制Access Control,发现有多种http://en.wikipedia.org/wiki/Access_control,而Openstack采用的是Role Based Access Control RBAC。
其中在V2中采用的每个Service下面的policy.json文件,访问控制是每个Service自己决策的。后来在V3中,除了policy.json文件,还可以将Policy在数据库中创建,实现了keystone的统一管理。

推荐下面的文章:

Mandatory Access Control (MAC)在Openstack中也有应用,就是对Libvirt对Host文件的访问控制AppArmor。当你使用virsh命令进行操作的时候,如果发现自己是root,但是还没有权限,八成就是它的原因了。
推荐

4. 服务目录管理

4.1 概念

参考文献

http://www.cnblogs.com/popsuper1982/p/3927390.html

上一篇 下一篇

猜你喜欢

热点阅读