2.3.2. 允许 IdM 组成员访问项目
要允许经过身份验证的用户访问 OpenStack 资源,推荐的方法是授权某些 IdM 组授予项目访问权限。这样可保存 OpenStack 管理员,不必将每个用户分配到项目中的角色。相反,IdM 组在项目中被授予角色。因此,属于这些 IdM 组成员的 IdM 用户将能够访问预先确定的项目。
如果您希望手动管理单个 IdM 用户的授权,请查看 第 2.3.3 节 “允许 IdM 用户访问项目”。
本节假设 IdM 管理员已经完成这些步骤:
-
在 IdM 中创建名为
grp-openstack-admin
的组。 -
在 IdM 中创建一个名为
grp-openstack-demo
的组。 - 根据需要将 IdM 用户添加到上述组之一。
-
将 IdM 用户添加到
grp-openstack
组。 -
思考一个指定的项目。本例使用名为
demo
的项目,通过openstack project create --domain default --description "Demo Project" demo
创建的。
这些步骤为 IdM 组分配角色。然后,组成员具有访问 OpenStack 资源的权限。
检索 IdM 组列表:
$ openstack group list --domain LAB +------------------------------------------------------------------+---------------------+ | ID | Name | +------------------------------------------------------------------+---------------------+ | 185277be62ae17e498a69f98a59b66934fb1d6b7f745f14f5f68953a665b8851 | grp-openstack | | a8d17f19f464c4548c18b97e4aa331820f9d3be52654aa8094e698a9182cbb88 | grp-openstack-admin | | d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 | grp-openstack-demo | +------------------------------------------------------------------+---------------------+
检索角色列表:
$ openstack role list +----------------------------------+---------------+ | ID | Name | +----------------------------------+---------------+ | 0969957bce5e4f678ca6cef00e1abf8a | ResellerAdmin | | 1fcb3c9b50aa46ee8196aaaecc2b76b7 | admin | | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | d3570730eb4b4780a7fed97eba197e1b | SwiftOperator | +----------------------------------+---------------+
将 IdM 组授予项目的访问权限,方法是将它们添加到一个或多个这些角色中。例如,如果您希望
grp-openstack-demo
组中的用户是demo
项目的一般用户,您必须将组添加到_member_
角色中:$ openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 _member_
因此,当域字段输入 LAB
时,grp-openstack-demo
的成员可以通过输入其 IdM 用户名和密码来登录控制面板:
如果用户收到错误 Error: Unable to retrieve container list
,并且希望能够管理容器,则它们必须添加到 SwiftOperator
角色中。