1.4. 查看密钥管理器策略
barbican 使用策略来决定允许哪些用户对 secret 执行操作,如添加或删除密钥。为实现这些控制,S keystone 项目角色(如您之前创建的 创建者
)映射到 barbican 内部权限。因此,分配给这些项目角色的用户会收到对应的 barbican 权限。
默认策略在代码中定义,通常不需要任何修改。如果没有进行策略更改,您可以使用环境中的现有容器查看默认策略。如果更改了默认策略,并且您希望查看默认值,请首先使用单独的系统拉取 openstack-barbican-api
容器。
前提条件
- OpenStack Key Manager 已部署并运行
流程
使用您的红帽凭证登录到 podman:
podman login username: ******** password: ********
podman login username: ******** password: ********
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 拉取
openstack-barbican-api
容器:podman pull \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.2
podman pull \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在当前工作目录中生成策略文件:
podman run -it \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.2 \ oslopolicy-policy-generator \ --namespace barbican > barbican-policy.yaml
podman run -it \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.2 \ oslopolicy-policy-generator \ --namespace barbican > barbican-policy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查看 barbican-policy.yaml
文件,以检查 barbican 使用的策略。策略由四个不同的角色来实施,用于定义用户如何与机密和机密元数据交互。用户通过分配给特定角色接收这些权限:
admin
- admin 角色可以在所有项目间读取、创建、编辑和删除 secret。
创建者
- creator 角色可以读取、创建、编辑和删除位于创建者范围的项目中的 secret。
Observer
- observer 角色只能读取 secret。
audit
- audit 角色只能读取元数据。audit 角色无法读取 secret。
例如,以下条目列出了每个项目的 管理
、观察
器和 创建
keystone 角色。请注意,请注意它们被分配了 role:admin
、role:observer
和 role:creator
权限:
这些角色也可以通过 barbican 分组在一起。例如,指定 admin_or_creator
的规则可应用到 rule:admin
或 rule:creator
的成员。
在文件的下面,有 secret:put
和 secret:delete
操作。请注意,注意哪些角色有执行这些操作的权限。在以下示例中,secret:delete
表示只有 admin
和 创建者
角色成员才能删除机密条目。此外,该规则指出该项目的 admin
或 创建者
角色中的用户可以删除该项目中的机密。项目匹配由 secret_project_match
规则定义,该规则也会在策略中定义。
secret:delete": "rule:admin_or_creator and rule:secret_project_match"
secret:delete": "rule:admin_or_creator and rule:secret_project_match"