【openstack—身份管理】

目录

前言

 domain 域

 project 项目

 user 用户

 group 用户组

 role 角色


前言

在openstack中身份管理由keystone组件完成。其中涉及域、项目、用户、用户组、角色的相关概念。本文结合openstack的图形化界面来学习相关概念,便于理解。

 domain 域

域(domain)是认证边界,通常一个openstack平台不需要创建域,因为keystone本身就有一个默认的域,名为Default。项目、用户、用户组、角色都包含在域中。

【openstack—身份管理】_第1张图片

在openstack图形登录界面,需要输入域的ID(default),实测输入域的名称(Default)也可以正常登录。

【openstack—身份管理】_第2张图片

 project 项目

Project 用于将 OpenStack 的资源(计算、存储和网络)进行分组和隔离,每一个project可以代表一个部门或者一个业务系统。只有该project下的user才可以访问该project的资源。

如果我们需要在openstack平台上上线某个业务系统,需要专人(用户user)配置维护云主机,此时我们可以创建一个以该业务系统命名的项目(如医疗卫生管理系统),创建时需要指定项目名称和配额。配额是指该项目最多允许使用多少资源,如vCPU数、内存大小、存储大小等,具体见下图。

同时可以添加项目成员(user)或项目组(group)到该项目(project),需要注意的是group在不同的资料上叫法不同,一般为项目组或用户组。

#创建一个名为service的项目(project),项目描述为Service Project,该项目属于default域。
openstack project create --domain default --description "Service Project" service

【openstack—身份管理】_第3张图片

 【openstack—身份管理】_第4张图片

 user 用户

user是指可以登录openstack的用户,这个用户可以是openstack平台的管理者或平台上某个项目的管理者;openstack部署过程中还需要为openstack的各个组件创建用户。

#创建一个用户,名为demo,密码为demo,属于default域。
openstack user create --domain default --password xyz123 demo

【openstack—身份管理】_第5张图片

 【openstack—身份管理】_第6张图片

 group 用户组

group 被用于管理访问权限,作用有二:一是为多个用户同时赋予某一个角色,二是将多个用户作为一个组划入某项目下。

【openstack—身份管理】_第7张图片

 【openstack—身份管理】_第8张图片

 创建组只需为该组命名即可,再向组中添加用户即可。至于该组的角色以及该组属于哪个项目应在项目选项中配置。在将组添加到某项目时可以设置该组的角色,且可以赋予该组在此项目下同时拥有多种角色。同一个组可以同时属于不同项目,并赋予其相同或不同的角色。

group是user的集合,所以group所拥有的特性user都有,如在某项目下拥有一种或多种角色;同时属于不同项目,并可赋予相同或不同的权限。

【openstack—身份管理】_第9张图片

 【openstack—身份管理】_第10张图片

【openstack—身份管理】_第11张图片

 role 角色

openstack中不同的role具备不同的权限,在openstack中只有两种角色一种叫admin,另一种为非admin,openstack中自带的member角色以及我们自己创建的user角色都是非admin角色,他们具有相同的权限,可以理解为member和user角色只是名称不同而已。

#创建一个角色,名为user。
openstack role create user

#将用户neutron加入项目service下,并赋予admin权限
openstack role add --project service --user neutron admin

【openstack—身份管理】_第12张图片

至于admin角色和非admin角色分别具备那些权限是由openstack各个组件的配置文件决定的。以下简单列举两种角色在图形界面表现出的区别。

 admin用户有管理员选项;非admin用户没有管理元选项。

admin用户可以看到所有项目和用户,非admin用户只能看到自己一个用户和包含自己的项目。

admin用户可以迁移实例,非admin用户不可以。

admin用户可以删除实例规格,非admin用户不可以。

你可能感兴趣的:(OpenStack,云计算,运维)