2.9. 授予外部组对 Red Hat OpenStack Platform 项目的访问权限
要授予多个经过身份验证的用户对 Red Hat OpenStack Platform (RHOSP)资源的访问权限,您可以授权外部用户管理服务中的某些组授予 RHOSP 项目的访问权限,而不必要求 OpenStack 管理员手动将每个用户分配到项目中的角色。因此,这些组的所有成员都可以访问预先确定的项目。
先决条件
确保外部服务管理员完成以下步骤:
-
创建名为
grp-openstack-admin的组。 -
创建名为
grp-openstack-demo的组。 - 根据需要,将 RHOSP 用户添加到这些组中。
-
将您的用户添加到
grp-openstack组。
-
创建名为
-
创建 OpenStack 身份域。此流程使用
LAB域。 -
创建或选择 RHOSP 项目。这流程使用一个名为
demo的项目,这项目由openstack project create --domain default --description "Demo Project" demo命令创建。
流程
从 OpenStack 身份域检索用户组列表:
openstack group list --domain LAB
# openstack group list --domain LABCopy 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 listCopy 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 memberCopy 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 角色中。