第 11 章 策略(policy)
每个 OpenStack 服务都包含由访问策略管理的资源。例如,资源可能包括以下功能:
- 创建和启动实例的权限
- 将卷附加到实例的功能
如果您是 Red Hat OpenStack Platform (RHOSP)管理员,您可以创建自定义策略来引入具有不同访问级别的新角色,或更改现有角色的默认行为。
红帽不支持自定义角色或策略。语法错误或应用错误授权可能会对安全或可用性造成负面影响。如果在生产环境中需要自定义角色或策略,请联系红帽支持例外。
11.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 -i keystone oslopolicy-policy-generator --namespace keystone
默认情况下,生成的策略由 oslo.policy CLI 工具推送到 stdout。