You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OPA Rego禁止防火墙规则源段含0.0.0.0/0策略不生效求助

问题排查与修复方案

存在的3处核心错误

  • 输入结构匹配错误:测试输入最外层为数组结构,直接访问input.vpcs无法命中字段,需要先遍历外层数组元素,正确的路径前缀应为input[_].vpcs
  • 字段类型匹配错误:输入中sourceRanges是逗号拼接的字符串类型,不是数组,不能使用[_]语法遍历元素,原有规则中的遍历逻辑永远不会触发
  • 内置函数参数顺序错误:Rego 内置contains函数的正确语法为contains(父字符串, 待查找子串),你将两个参数顺序写反,即使路径正确也无法完成匹配

修正后的Rego策略

package play

default allow = true

# 命中0.0.0.0/0则禁止
allow = false {
    sourceRangeStr := input[_].vpcs.rule.sourceRanges
    contains(sourceRangeStr, "0.0.0.0/0")
}

如果后续你将sourceRanges调整为数组格式,可以用下面的规则适配:

allow = false {
    input[_].vpcs.rule.sourceRanges[_] == "0.0.0.0/0"
}

内容的提问来源于stack exchange,提问作者DevOpsNoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:54:03