2.10. 授予外部组对 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
命令输出取决于您集成的外部用户管理服务:
Active Directory Domain Service (AD DS):
+------------------------------------------------------------------+---------------------+ | ID | Name | +------------------------------------------------------------------+---------------------+ | 185277be62ae17e498a69f98a59b66934fb1d6b7f745f14f5f68953a665b8851 | grp-openstack | | a8d17f19f464c4548c18b97e4aa331820f9d3be52654aa8094e698a9182cbb88 | grp-openstack-admin | | d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 | grp-openstack-demo | +------------------------------------------------------------------+---------------------+
Red Hat Identity Manager (IdM):
+------------------------------------------------------------------+---------------------+ | ID | Name | +------------------------------------------------------------------+---------------------+ | 185277be62ae17e498a69f98a59b66934fb1d6b7f745f14f5f68953a665b8851 | grp-openstack | | a8d17f19f464c4548c18b97e4aa331820f9d3be52654aa8094e698a9182cbb88 | grp-openstack-admin | | d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 | grp-openstack-demo | +------------------------------------------------------------------+---------------------+
检索角色列表:
# openstack role list
命令输出取决于您集成的外部用户管理服务:
Active Directory Domain Service (AD DS):
+----------------------------------+-----------------+ | ID | Name | +----------------------------------+-----------------+ | 01d92614cd224a589bdf3b171afc5488 | admin | | 034e4620ed3d45969dfe8992af001514 | member | | 0aa377a807df4149b0a8c69b9560b106 | ResellerAdmin | | 9369f2bf754443f199c6d6b96479b1fa | heat_stack_user | | cfea5760d9c948e7b362abc1d06e557f | reader | | d5cb454559e44b47aaa8821df4e11af1 | swiftoperator | | ef3d3f510a474d6c860b4098ad658a29 | service | +----------------------------------+-----------------+
Red Hat Identity Manager (IdM):
+----------------------------------+---------------+ | ID | Name | +----------------------------------+---------------+ | 0969957bce5e4f678ca6cef00e1abf8a | ResellerAdmin | | 1fcb3c9b50aa46ee8196aaaecc2b76b7 | admin | | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | d3570730eb4b4780a7fed97eba197e1b | SwiftOperator | +----------------------------------+---------------+
通过将用户组添加到一个或多个这些角色,来授予用户对 RHOSP 项目的访问权限。例如,如果您希望
grp-openstack-demo
组中的用户是demo
项目的普通用户,您必须将该组添加到member
或_member_
角色中,具体取决于您要集成的外部服务:Active Directory Domain Service (AD DS):
# openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 member
Red Hat Identity Manager (IdM):
$ openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 _member_
结果
grp-openstack-demo
的成员可通过输入其用户名和密码并在 Domain
字段中输入 6443
登录到仪表板:
如果用户收到错误 Error: Unable to retrieve container list。
它应该能够管理容器,则必须将它们添加到 SwiftOperator
角色中。