学习openstack认证管理,参考《HCIP-Cloud_Computing-OpenStack_V1.0_实验手册》,以下为实验流程
openstack学习-openstack认证管理

OpenStack Dashboard操作

首先登陆后,可以在设置中将语言改为中文并且修改时区

openstack学习-openstack认证管理

然后左侧导航栏选择“身份管理-角色”,进入角色列表,点击“创建角色”

openstack学习-openstack认证管理
创建一个名为“Role_web"的角色,点击提交,完成角色的创建

openstack学习-openstack认证管理

在左侧导航栏选择”身份管理-用户“,进入用户列表,点击页面右上角”创建用户“

openstack学习-openstack认证管理

用户名User_web_01,密码abc@123,项目 选择系统已经创建的项目admin,角色 Role_web,其他保持默认

openstack学习-openstack认证管理

重复以上步骤,创建用户"User_web_02",选择角色"admin"

openstack学习-openstack认证管理

在左侧导航栏选择"身份管理-组”,进入用户组列表,单击右上角“Create Group"

openstack学习-openstack认证管理

输入用户组名称,”Group_web",然后点击“创建组”

openstack学习-openstack认证管理

返回用户组列表,在待操作的用户组所在行的“Actions",点击”管理成员“

openstack学习-openstack认证管理

进入用户组成员列表,单击“添加用户

openstack学习-openstack认证管理

在用户列表中选择加入的用户组的用户”User_web_01"和“User_web_02"

openstack学习-openstack认证管理

然后查看刚刚添加的用户,点击用户名进入用户概览页面,查看详细信息

openstack学习-openstack认证管理

然后注销admin用户,使用User_web_01和User_web_02登陆

创建项目、修改项目配额

以admin身份登陆,在导航栏中选择”身份管理-项目”,创建项目
openstack学习-openstack认证管理
创建时会报错
openstack学习-openstack认证管理
此时需要在“身份管理-角色”中,创建一个角色“user"

在”项目信息“中,填写项目名称"Project_web",其他保持默认
openstack学习-openstack认证管理

选择”项目成员“,将用户”User_web_01"加入,角色选择为"admin"

openstack学习-openstack认证管理
然后单击“创建项目”,完成项目的创建

返回项目列表,单击项目名称“Project_web",查看项目信息
openstack学习-openstack认证管理
注销admin,以User_web_01登陆,验证
openstack学习-openstack认证管理

再次以admin用户登陆,选择”身份管理-项目“,查看"Project_web"项目,按照如下方式配置”修改配额“
openstack学习-openstack认证管理

修改配额,分别在”实例“,”卷“和”网络“进行修改,分别修改为5,5,10进行资源限制
openstack学习-openstack认证管理
注销admin,以User_web_01登陆,选择进入Project_web项目,进入”计算-概况“确认项目的配额的变化
openstack学习-openstack认证管理

Openstack cli操作

创建角色、用户及用户组

进入controller节点,导入环境变量

. admin-openrc.sh 

查看Openstack角色相关的命令的用法

openstack role --help

openstack学习-openstack认证管理
子命令具体用法可以通过如下方式进行查看
openstack role create --help
openstack学习-openstack认证管理
使用命令创建Role_cli
openstack role create Role_cli
openstack学习-openstack认证管理
然后使用openstack user命令,通过--help参数查看命令用法
opesntack user --help<br/>openstack user create --help<br/>
openstack学习-openstack认证管理

按照如下命令创建User_cli_01,并设置密码
openstack user create --domain default --project admin --password-prompt User_cli_01
openstack学习-openstack认证管理
为用户User_cli_01在项目admin中添加角色Role_cli
openstack role add --project admin --user User_cli_01 Role_cli

然后创建一个用户User_cli_02,并在项目admin添加角色admin
openstack user create --domain default --project admin --password-prompt User_cli_02
openstack role add --project admin --user User_cli_02 admin
openstack学习-openstack认证管理
然后查看角色分配情况

openstack role assignment list --names |grep User_cli

openstack学习-openstack认证管理

创建用户组”Group_cli"

openstack group create Group_cli

openstack学习-openstack认证管理
然后为用户组“Group_cli"添加用户成员”User_cli_01"和“User_cli_02"

openstack group add user Group_cli User_cli_01 User_cli_02

openstack学习-openstack认证管理
创建User_cli_01的环境变量User_cli_01-openrc.sh,并编辑

cp admin-openrc.sh User_cli_01-openrc.sh
vi cp admin-openrc.sh User_cli_01-openrc.sh

重要修改用户名和密码
openstack学习-openstack认证管理
导入User_cli_01的环境变量文件,查看项目列表,只能看到项目admin

 User_cli_01-openrc.sh
 openstack project list

openstack学习-openstack认证管理
创建User_cli_02的环境变量文件User_cli_02-openrc.sh, 然后导入环境变量

cp admin-openrc.sh User_cli_02-openrc.sh
vi cp admin-openrc.sh User_cli_02-openrc.sh

openstack学习-openstack认证管理
检查项目列表,可以看到所有的项目
openstack学习-openstack认证管理

禁用用户,删除用户

导入admini-opensrc.sh环境变量,以admin身份进行操作
从用户组”Group_cli"中移除用户"User_cli_02"

openstack group remove user Group_cli User_cli_02

检查用户组Group_cli是否包含用户“User_cli_02"

openstack group contains user Group_cli User_cli_02

openstack学习-openstack认证管理

禁用用户"User_cli_02"

openstack user set --disable User_cli_02

查看用户”User_cli_02"的禁用状态

openstack user show User_cli_02

openstack学习-openstack认证管理
删除User_cli_02

openstack user delete User_cli_02

查看用户列表

openstack user list

openstack学习-openstack认证管理
可见用户User_cli_02已经不存在了

创建项目,修改项目配额

项目相关的命令主要是openstack project

创建项目“Project_cli"

openstack project create --domain default Project_cli

openstack学习-openstack认证管理

为用户”User_cli_02"在项目“Project_cli"中添加角色”admin"

openstack role add --project Project_cli --user User_cli_01 admin

查看角色分配情况

openstack role assignment list --name |grep User_cli_01

openstack学习-openstack认证管理
修改用户"User_cli_01"环境变量"User_cli_01-openstack.sh",修改项目为Project_cli
openstack学习-openstack认证管理
导入”User_cli_01"环境变量
检查项目列表

openstack project list

openstack学习-openstack认证管理

openstack配额相关命令是
oepnstack quota

查看项目Project_cli的默认配额
openstack学习-openstack认证管理
然后修改项目"Project_cli"的默认配额,将实例数量修改为5,卷数量修改为5,网络修改为10

openstack quota set --instances 5 --volumes 5 --networks 10 Project_cli

检查项目"Project_cli"的配额变化

openstack quota show Project_cli | grep -E "instances|volumes|networks"

openstack学习-openstack认证管理
确认修改成功

创建服务和服务端点

使用openstack cli还可进行一些无法在openstack dashboard上进行的操作,如创建服务和服务端点。
现在开始以创建swift服务和服务端点说明
首先导入admin环境变量
openstack service是服务相关的命令

创建服务“swift"

openstack service create --name swift --description "Openstack Object Storage" object-store

openstack学习-openstack认证管理

查看服务列表

openstack service list

openstack学习-openstack认证管理

openstack endpoint为端点相关命令

创建服务”swift"的服务端点

openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s

openstack学习-openstack认证管理

openstack endpoint create --region RegionOne object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s

openstack学习-openstack认证管理

openstack endpoint create --region RegionOne object-store admin http://controller:8080/v1/AUTH_%\(tenant_id\)s

openstack学习-openstack认证管理
查看swif服务的服务端点

openstack endpoint list |grep swift

openstack学习-openstack认证管理

此时登陆opesntack dashboard界面,在“项目-对象存储-容器“,去确认