第 2 章 在 OpenShift 上的 Red Hat OpenStack Services 中,基于角色的安全访问控制
在 OpenShift (RHOSO) 18.0 上对 Red Hat OpenStack Services (keystone)进行身份验证的所有用户都使用安全基于角色的访问控制(SRBAC)。SRBAC 是更新的基于角色的访问控制式身份验证模式,在所有 RHOSO 部署中都存在。现在,所有策略都使用这个模式。
2.1. Red Hat OpenStack Services on OpenShift 中的 SRBAC
Keystone 使用用户角色(属于范围特定的角色)实施安全角色。您可以为项目或系统范围的用户或组分配角色。
2.1.1. 角色
角色定义用户可以执行的操作。项目和系统范围内提供了三个 OpenStack 角色。
- admin
- 在任何范围内授予 admin 角色包括资源和 API 的所有创建、读取、更新或删除操作。
- 成员
-
member
角色可以创建、读取、更新和删除由其所属的范围拥有的资源。 - 读取器
-
reader
角色用于只读操作,无论它应用到的范围是什么。此角色可以查看应用资源的范围。
2.1.2. 影响范围
范围是执行操作的上下文。所有 OpenStack 资源都归特定项目所有,因此通过将角色分配给项目范围来授予这些资源的访问权限。
2.1.3. Personas
- 项目管理员
- 此用户角色包括跨项目资源创建、读取、更新和删除操作,包括添加和删除用户和其他项目。授予用户 admin,在任何范围内授予用户对所有可用范围内所有 API 的完整 API 访问权限。
- 项目成员
- 项目成员用户角色适用于被授予权限的用户,使其消耗项目范围内的资源。此用户角色可以在分配到的项目中创建、列出、更新和删除资源。此用户角色表示赋予项目读取器的所有权限。
- 项目读取器
- 项目读取器用于授予查看项目中非敏感资源的权限的用户。在项目中,将 reader 角色分配给需要检查或查看资源或审核员的最终用户,他们只需要查看单个项目中的特定于项目的资源,供审计的 Project-reader 用户角色不会解决所有审计用例。
- 系统管理员
- 系统管理员通常是可影响部署行为的云管理员。授予用户 admin,在任何范围内授予用户对所有可用范围内所有 API 的完整 API 访问权限。
- 系统成员和系统读取器
-
系统成员和系统读取器具有相同的授权,可以查看 keystone 中的所有资源。如果审计不需要访问敏感信息,
系统读取
者对审核员很有用。
注意
基于 域范围的
其他用户角色不可用。