OpenStack——自我扫盲

针对OpenStack的一些基础概念进行记录,以解决我OpenStack文盲的处境。

keystone

keystone是一个鉴权的服务,根据用户提供的一系列凭证来确认用户的身份,并向用户分发一个代表其身份的token。在之后的请求中,用户只需要提供keystone分发给它的token就可以了。

碎片概念

Credentials(凭证),确认用户身份的数据,可以是用户名和密码,也可以是用户名和API密钥,也可以是keystone分发给我们的token。

Domain(域),domain是一系列project(租户)和user(用户)的集合,这个集合定义了这个domain所能够管理的范围。如果一个user被授权为domain的管理员role,它可以在这个domain中创建project、user,指定role给用user和group(组)。

Endpoint(端点),通常是一个URL,用来表示接入某个service的地址。

Service(服务),比如Compute(nova)服务,对象存储(Swift)服务等OpenStack服务,它们提供一个或多个可以接入它们进行操作的endpoint。

Group(组),group是一个domain中所有user的集合。授予group的role(不管是授予给domain还是授予给project)会适用于group内的所有user。

Project(租户),对资源或者标识对象进行分组或隔离的容器。一个project根据操作可能会被映射给一个账号、顾客或者组织。

Region(区域),用来表示OpenStack部署中的划分,可以将多个sub-region与一个region关联,形成树状的结构化层次结构。这个region与地理位置无关,但可以在部署时给它指定地理名字,例如cd-region。

Role(角色),代表预先定义好的用户权限。Identity服务会向用户分发一个token,其中包含一个role的列表。当user调用服务时,服务会根据user的role列表,确定每个role权限。。role的具体权限可以在/etc/对应服务名字,例如nova/policy.json中进行配置。一个user可以在不同的project中拥有不同的role,也可以在一个project中拥有多个role。

针对role举个例子,如果group A针对project/domain A被授予了role A,user A是group A中的一员,当user A从project A中拿到了一个token后,这个token除了可用于user A之外,还可以被group A中的成员使用。

posted on 2022-11-28 20:32  想向着星辰大海出发  阅读(82)  评论(0编辑  收藏  举报