1.5. 授予外部组访问 Red Hat OpenStack Platform 项目
要授予多个经过身份验证的用户对 Red Hat OpenStack Platform (RHOSP)资源的访问权限,您可以从外部用户管理服务授权某些组,以授予 RHOSP 项目的访问权限,而不是要求 OpenStack 管理员手动为项目中的角色分配每个用户。因此,这些组的所有成员都可以访问预先确定的项目。
先决条件
确保外部服务管理员完成以下步骤:
-
创建名为
grp-openstack-admin
的组。 -
创建名为
grp-openstack-demo
的组。 - 根据需要将 RHOSP 用户添加到这些组中。
-
将用户添加到
grp-openstack
组中。
-
创建名为
-
创建 OpenStack Identity 域。此流程使用
LAB
域。 -
创建或选择 RHOSP 项目。这流程使用一个名为
demo
的项目,这项目由openstack project create --domain default --description "Demo Project" demo
命令创建。
流程
从 OpenStack Identity 域检索用户组列表:
openstack group list --domain LAB
# openstack group list --domain LAB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命令输出取决于您集成的外部用户管理服务:
Active Directory Domain Service (AD DS):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Identity Manager (IdM):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
检索角色列表:
openstack role list
# openstack role list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命令输出取决于您集成的外部用户管理服务:
Active Directory Domain Service (AD DS):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Identity Manager (IdM):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过将用户组添加到一个或多个这些角色,授予用户组对 RHOSP 项目的访问权限。例如,如果您希望
grp-openstack-demo
组中的用户是demo
项目的普通用户,您必须将组添加到member
或_member_
角色,具体取决于您要集成的外部服务:Active Directory Domain Service (AD DS):
openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 member
# openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 member
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Identity Manager (IdM):
openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 _member_
$ openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 _member_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
结果
grp-openstack-demo
的成员可通过输入其用户名和密码并在 Domain
字段中输入 6443
登录到仪表板:
如果用户收到错误 Error: Unable to retrieve container list.
,并且希望能够管理容器,则必须将它们添加到 SwiftOperator
角色中。