OPA Rego认证策略文件语法错误排查求助
OPA Rego语法错误排查与修复
问题原因
- 输入数据与规则引用不匹配:你的输入数据仅包含顶级
upn字段,但规则里错误引用了input.user.upn,这不仅会导致逻辑不生效,还触发了解析层面的异常。 - 代码小瑕疵:
allowed_upns定义行末尾的多余空格虽不直接引发报错,建议移除以保持代码规范。
修正后的Rego代码
package example.accesscontrol # 定义允许的UPN列表 allowed_upns = {"xyz@test.com", "abc@test.com"} # 默认拒绝所有访问 default allow = false # 当UPN在允许列表中时允许访问 allow { input.upn in allowed_upns }
验证说明
使用你提供的输入数据{"upn": "xyz@test.com"}测试修正后的规则,OPA会返回allow = true,符合预期结果。
内容的提问来源于stack exchange,提问作者Rahul Dankhara
相关产品推荐
相关产品推荐

