1.4. 查看密钥管理器策略
barbican 使用策略来确定允许哪些用户对 secret 执行操作,如添加或删除密钥。为实施这些控制,之前创建的 创建者
等 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.1
podman pull \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在当前工作目录中生成策略文件:
podman run -it \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.1 \ oslopolicy-policy-generator \ --namespace barbican > barbican-policy.yaml
podman run -it \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:16.1 \ oslopolicy-policy-generator \ --namespace barbican > barbican-policy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查看 barbican-policy.yaml
文件,以检查 barbican 使用的策略。该策略由四个不同的角色实施,它们定义用户如何与 secret 和 secret 元数据进行交互。用户通过分配给特定角色来接收这些权限:
-
admin
- 可以删除、创建/编辑和读取 secret。 -
创建者
- 可以创建/编辑,以及读取 secret。无法删除 secret。 -
Observer
- 只能读取数据。 -
audit
- 只能读取元数据。无法读取 secret。
例如,下列条目列出了各个项目的 admin
、观察
器和 创建者
Keystone 角色:请注意,请注意,它们被分配了 role:admin
、role:observer
和 role:creator
权限:
这些角色也可以通过 barbican 分组在一起。例如,指定 admin_or_creator
的规则可应用到 rule:admin
或 rule:creator
的成员。
在文件的下面,有 secret:put
和 secret:delete
操作。在其右侧,注意哪些角色具有执行这些操作的权限。在以下示例中,secret:delete
表示只有 admin
和 creator
角色成员才能删除 secret 条目。此外,该规则指出该项目的 admin
或 creator
角色中的用户可以删除该项目中的机密。项目匹配由 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"