3.4. 表示的角色
Identity 服务(keystone)强制访问控制,确认用户是否已分配给特定角色。Identity 服务使用 implied 角色分配。如果您明确将用户分配给角色,也可以隐式将用户分配给其他角色。您可以在 Red Hat OpenStack Platform 中查看默认的含义角色:
$ openstack implied role list +----------------------------------+-----------------+----------------------------------+-------------------+ | Prior Role ID | Prior Role Name | Implied Role ID | Implied Role Name | +----------------------------------+-----------------+----------------------------------+-------------------+ | 54454217f38247e5a2131c8a47138d32 | admin | b59703369e194123b5c77dad60d11a25 | member | | b59703369e194123b5c77dad60d11a25 | member | 382761de4a9c4414b6f8950f8580897c | reader | +----------------------------------+-----------------+----------------------------------+-------------------+
注意
Identity service (keystone)也添加了 reader
角色,该角色将显示在角色列表中。不要使用 reader
角色,因为它没有集成到其他 OpenStack 服务中,并在服务间提供不一致的权限。
具有更高权限的角色,与具有较少权限的角色相关联。在上面的默认表示的角色中,admin 表示 member,member 表示 reader。使用表示的角色时,用户的角色分配会被累积处理,以便用户继承下级角色。
3.4.1. 创建含义的角色
如果使用自定义角色,您可以创建指定的关联。
注意
当您创建新角色时,它将默认具有与 member
角色相同的访问策略。有关为自定义角色创建唯一策略的详情,请参考 使用策略文件进行访问控制。
流程
使用以下命令指定代表另一个角色的角色:
$ openstack implied role create manager --implied-role poweruser +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | implies | ab0b966e0e5e411f8d8b0cc6c26fefd1 | | prior_role | 880761f64bff4e4a8923efda73923b7a | +------------+----------------------------------+
验证
列出所有含义的角色:
$ openstack implied role list +----------------------------------+-----------------+----------------------------------+-------------------+ | Prior Role ID | Prior Role Name | Implied Role ID | Implied Role Name | +----------------------------------+-----------------+----------------------------------+-------------------+ | 54454217f38247e5a2131c8a47138d32 | admin | b59703369e194123b5c77dad60d11a25 | member | | 880761f64bff4e4a8923efda73923b7a | manager | ab0b966e0e5e411f8d8b0cc6c26fefd1 | poweruser | | b59703369e194123b5c77dad60d11a25 | member | 382761de4a9c4414b6f8950f8580897c | reader | +----------------------------------+-----------------+----------------------------------+-------------------+
如果出错中进行了指示的关联,您可以撤销您的更改:
openstack implied role delete manager --implied-role poweruser