3.3. 策略(policy)
每个 OpenStack 服务都包含由访问策略管理的资源。例如,资源可能包含以下功能:
- 创建和启动实例的权限
- 将卷附加到实例的功能
作为 Red Hat OpenStack Platform (RHOSP)管理员,您可能需要创建自定义策略来引入具有不同访问级别的新角色,或者更改现有角色的默认行为。您还需要在更改后验证 API 访问策略,并在无法正常工作时调试这些策略。在生产部署之外验证和调试策略,其中语法错误可能会导致停机,错误应用的授权可能会对安全性或可用性产生负面影响。
3.3.1. 查看现有策略 复制链接链接已复制到粘贴板!
通常存在于 /etc/$service 目录中的服务策略文件。例如,计算(nova)的 policy.json 文件的完整路径为 /etc/nova/policy.json。
有两个重要的架构更改会影响如何查找现有策略:
Red Hat OpenStack Platform 现已容器化。
如果您从服务容器内部查看策略文件,则策略文件位于传统路径中:
/etc/$service/policy.json
如果您从服务容器以外查看策略文件,则策略文件位于以下路径中:
/var/lib/config-data/puppet-generated/$service/etc/$service/policy.json
每个服务都有代码中提供的默认策略,只有您手动创建的文件或使用
oslopolicy工具生成时可用。要生成策略文件,请使用容器中的oslopolicy-policy-generator,如下例所示:podman exec -it keystone oslopolicy-policy-generator --namespace keystone
默认情况下,生成的策略会按照 osly.policy CLI 工具推送到 stdout。