第 5 章 策略(policy)
每个 OpenStack 服务都包含由访问策略管理的资源。例如,资源可能包含以下功能:
- 创建和启动实例的权限
- 将卷附加到实例的功能
如果您是 Red Hat OpenStack Platform (RHOSP)管理员,您可以创建自定义策略来描述具有不同访问权限级别的新角色,或更改现有角色的默认行为。
红帽不支持自定义角色和策略。语法错误可能会导致停机,错误应用的授权可能会对安全性或可用性造成负面影响。如果在生产环境中需要自定义策略,请联系红帽支持例外。
5.1. 查看现有策略
服务的策略文件通常存在于 /etc/$service
目录中。例如,Compute (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
默认情况下,生成的策略由 oslo.policy CLI 工具推送到 stdout。