策略¶
警告
自 Watcher 6.0.0 (Wallaby) 起,JSON 格式的策略文件已被弃用。此 oslopolicy-convert-json-to-yaml 工具将以向后兼容的方式将现有的 JSON 格式策略文件迁移到 YAML。
Watcher 的公共 API 调用可以通过策略配置文件限制为特定用户集。本文档详细说明了策略的配置方式以及它们适用的对象。
策略由一组规则组成,这些规则用于确定授权租户是否可以执行特定操作。
构建策略配置文件¶
策略配置文件是一个简单的 JSON 对象,其中包含一组规则。每个顶级键是规则的名称。每个规则都是一个字符串,描述了可以在 Watcher API 中执行的操作。
可以对其强制执行规则的操作包括
strategy:get_all,strategy:detail- 列出可用的策略GET /v1/strategiesGET /v1/strategies/detail
strategy:get- 获取特定的策略实体GET /v1/strategies/<STRATEGY_UUID>GET /v1/strategies/<STRATEGY_NAME>
goal:get_all,goal:detail- 列出可用的目标GET /v1/goalsGET /v1/goals/detail
goal:get- 获取特定的目标实体GET /v1/goals/<GOAL_UUID>GET /v1/goals/<GOAL_NAME>
audit_template:get_all,audit_template:detail- 列出可用的审计模板GET /v1/audit_templatesGET /v1/audit_templates/detail
audit_template:get- 获取特定的审计模板实体GET /v1/audit_templates/<AUDIT_TEMPLATE_UUID>GET /v1/audit_templates/<AUDIT_TEMPLATE_NAME>
audit_template:create- 创建审计模板实体POST /v1/audit_templates
audit_template:delete- 删除审计模板实体DELETE /v1/audit_templates/<AUDIT_TEMPLATE_UUID>DELETE /v1/audit_templates/<AUDIT_TEMPLATE_NAME>
audit_template:update- 更新审计模板实体PATCH /v1/audit_templates/<AUDIT_TEMPLATE_UUID>PATCH /v1/audit_templates/<AUDIT_TEMPLATE_NAME>
audit:get_all,audit:detail- 列出可用的审计GET /v1/auditsGET /v1/audits/detail
audit:get- 获取特定的审计实体GET /v1/audits/<AUDIT_UUID>
audit:create- 创建审计实体POST /v1/audits
audit:delete- 删除审计实体DELETE /v1/audits/<AUDIT_UUID>
audit:update- 更新审计实体PATCH /v1/audits/<AUDIT_UUID>
action_plan:get_all,action_plan:detail- 列出可用的行动计划GET /v1/action_plansGET /v1/action_plans/detail
action_plan:get- 获取特定的行动计划实体GET /v1/action_plans/<ACTION_PLAN_UUID>
action_plan:delete- 删除行动计划实体DELETE /v1/action_plans/<ACTION_PLAN_UUID>
action_plan:update- 更新行动计划实体PATCH /v1/audits/<ACTION_PLAN_UUID>
action:get_all,action:detail- 列出可用的操作GET /v1/actionsGET /v1/actions/detail
action:get- 获取特定的行动计划实体GET /v1/actions/<ACTION_UUID>
service:get_all,service:detail- 列出可用的 Watcher 服务GET /v1/servicesGET /v1/services/detail
service:get- 获取特定的 Watcher 服务实体GET /v1/services/<SERVICE_ID>
要将操作限制为特定的角色或角色,您可以像这样列出角色
{
"audit:create": ["role:admin", "role:superuser"]
}
以上将添加一个规则,仅允许具有“admin”或“superuser”角色的用户启动审计。