oslopolicy-validator

概要

oslopolicy-policy-validator

描述

oslopolicy-validator 工具可用于对策略文件执行基本的合理性检查。它将检测以下问题:

  • 缺少策略文件

  • 规则具有无效的语法

  • 规则引用了不存在的其他规则

  • 规则与另一个规则形成循环引用

  • 规则在指定的命名空间中不存在

此工具对规则的内容进行非常少的验证。应使用其他工具,例如 oslopolicy-checker,来检查规则是否达到预期效果。

选项

-h, --help

显示帮助信息并退出。

--config-dir DIR

从目录中提取 *.conf 文件的路径。此文件集按排序方式排列,以便在单个选项被覆盖时提供可预测的解析顺序。该集合在通过之前的 --config-file 参数指定的文件之后进行解析,因此目录中的覆盖选项优先。

必须从命令行设置此选项。

--config-file PATH

要使用的配置文件路径。可以指定多个配置文件,后面的文件的值优先。默认值为 None。此选项必须从命令行设置。

--namespace NAMESPACE

在“oslo.policy.enforcer”下查找 policy.Enforcer 的选项命名空间。

示例

验证 Keystone 使用的策略文件

oslopolicy-validator --config-file /etc/keystone/keystone.conf --namespace keystone

失败验证的示例输出

$ oslopolicy-validator --config-file keystone.conf --namespace keystone
WARNING:oslo_policy.policy:Policies ['foo', 'bar'] are part of a cyclical reference.
Invalid rules found
Failed to parse rule: (role:admin and system_scope:all) or (role:foo and oken.domain.id:%(target.user.domain_id)s))
Unknown rule found in policy file: foo
Unknown rule found in policy file: bar

参见

oslopolicy-checker