项目实训一
【实训题目】
通过图形界面管理项目、用户和角色
【实训目的】
掌握图形界面的身份管理基本操作。
【实训准备】
(1)复习Keystone身份服务体系相关知识。
(2)了解项目、用户和角色之前的关系。
【实训内容】
参照教材87页内容,完成如下任务。
(1)以云管理员身份登录OpenStack,切换到“身份管理”仪表板。
(2)查看项目列表,并新建一个项目(test)。
(3)查看用户列表,并新建一个用户(tester)。
(4)查看角色列表,并切换项目管理查看、更改角色分配(_member_)。
(4.1)进行项目管理成员操作,将tester用户分配到test项目中,并测试能否在界面使用tester用户登录。
(5)请求一个admin项目作用域的令牌
curl -i -H "Content-Type: application/json" -d '
{ "auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": { "id": "default" },
"password": "123456"
}
}
},
"scope": {
"project": {
"name": "admin",
"domain": { "id": "default" }
}
}
}
}' "http://localhost:5000/v3/auth/tokens" ;
(6)导出环境变量OS_TOKEN,将其值设为令牌ID。
export OS_TOKEN=[令牌ID值]
令牌:export OS_TOKEN=”gAAAAABlL_Vw6WMqc_sKN-vUho__IiG0TifDn7EHD34oulS5KoGS6dGYHWS5zbBI0FlsG2UUy08_mgtK886VtvgAo6b5wAegk4BWwJfqzcKnSpErYYyBVfAokqRl2tPPFBTQb90BZN3QCsNIv6rlO6QKaF0jmBdYw3K94D8kMQNhqs6ceQSJO9w”
(7)以令牌认证方式请求另一个认证令牌
curl -i \
-H "Content-Type: application/json" \
-d '
{ "auth": {
"identity": {
"methods": ["token"],
"token": {
"id": "'$OS_TOKEN'"
}
}
}
}' \
"http://localhost:5000/v3/auth/tokens"
新的令牌:
gAAAAABlL_aXWFlXtYtrkoOApeB--EH2Q4Ko3XfLxfnoKx62JHV66H15PQpJ7s35N0fjdn1-UKkOHmkQRSHt82jC7SJjxrb6xwjcJTlTHgNLte47swer_pgbGZWYQ9i7Z37pyswrlO9s9CmntBm0pwCjbsfMyUJA-MkT_vE--Lwn9Q5-grSSlsI
(8)获取认证令牌后,根据该令牌的权限进行身份管理操作。
(8.1)获取域列表。
curl -s \
-H "X-Auth-Token: $OS_TOKEN" \
"http://localhost:5000/v3/domains" | python -mjson.tool
(8.2)获取项目列表。
curl -s \
-H "X-Auth-Token: $OS_TOKEN" \
"http://localhost:5000/v3/projects" | python -mjson.tool
(8.3)创建一个用户
curl -s \
-H "X-Auth-Token: $OS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"user": {"name": "newuser", "password": "changeme"}}' \
"http://localhost:5000/v3/users" | python -mjson.tool
项目实训二
【实训题目二】
通过命令行进行身份管理操作
【实训目的二】
掌握命令行的身份管理操作方法。
【实训准备二】
复习openstack命令的身份管理基本用法。
【实训内容二】
(1)加载demo用户的客户端环境脚本。
source keystonerc_demo
(2)查看当前的项目列表,该用户可以访问两个项目。
openstack project list
(3)查看用户列表,可以发现demo用户没有被授权此项操作。
openstack user list
(4)加载admin用户的客户端环境脚本。
source keystonerc_admin
(5)查看当前的项目列表,云管理员可以查看所有的项目。
openstack project list
(6)查看云平台上所有的角色分配。
openstack role assignment list --name
(7)进一步筛选出系统管理员的角色分配。
openstack role assignment list --names --system all