openstack的用户(user), 租户(tenant), 角色(role)概念区分

 

作者为openstack初学者,本文为自己的学习笔记,不足之处欢迎指出和讨论。

 

目标读者:openstack初学者

文章先给出定义,再举例说明三者的关系

 

用户身份管理有三个主要的概念:

  • 用户Users
  • 租户Tenants
  • 角色Roles

1. 定义

这三个概念的openstack官网定义(点击打开链接

1.1 用户(User)

openstack官网定义User为“In OpenStack Identity, entities represent individual API consumers and are owned by a specific domain. In OpenStack Compute, a user can be associated with roles, projects, or both”

关于用户需要明白以下:

1) 一个用户就是一个有身份验证信息的API消费实体

2)一个用户可以属于多个租户/项目/组织, 角色;

1.2 租户(Tenant)

openstack官网定义Tenant为"A group of users; used to isolate access to Compute resources. An alternative term for a project” 

关于租户需要明白以下几点:   

1)【修改前】租户相当于一个用户组,包含多个用户。

**注[updated on 2016/07/25]:以上这句话不是很准确,经核实后修改如下。

1)【修改后】租户也可以理解为一个项目(Project)。 在API 3之前的版本,使用tenant,  API 3之后的版本,更多的使用project。目前的openstack版本(Mitaka (April 2016))中,更多的使用的是peoject(项目)这个词,而不倾向于使用tenatn(租户)。Tenant其实是各个服务中的一些可以访问的资源集合。这些资源集合可供多个用户使用,这也是为什么用户默认的总是绑定到某些tenant上。

2)用户通过租户访问计算管理资源(这里的计算管理资源可以理解为openstack服务),也就是说必须指定一个相应的租户才可以申请openstack服务。

3)   各租户相互独立,在当前租户下无法查看其他租户信息。

1.3 角色(Role)

openstack官网定义role为“A personality that a user assumes to perform a specific set of operations. A role includes a set of rights and privileges. A user assuming that role inherits those rights and privileges.”

关于角色需要明白以下:

1)角色是可执行一特定系列操作的用户特性,角色规定了用户在某个租户中的一系列权利和特权。

2)一般默认有超级管理员权限admin和普通管理员权限member。

2. 举例

 

以公司某员工需要向公司财务部门申请出差费用报销为例,说明三者关系。

用户代表员工1, 他持有相关的信息,例如姓名、工号、电子邮箱等。 项目组属于不同的租户。用户1可以同时属于不同的几个项目组

。当员工1提出申请出差补贴的请求时,必须指定一个他所属的项目组。而角色则规定了该员工在某一个项目组所拥有的权限,比如什么费用可以报销,什么不可以报销。

 

Reference:

 http://docs.openstack.org/user-guide/common/glossary.html

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页