OPA命令行eval评估始终返回false,预期应为true求助
解决OPA Rego策略评估access始终为false的问题
问题出在执行opa eval命令时未加载存储角色数据的data.json文件。你的Rego策略依赖data.Roles获取角色权限配置,但命令里只传入了policy.rego,导致Roles为空集合,规则无法匹配任何角色和表,最终access保持默认的false。
修正后的执行命令
需要通过--data参数同时加载策略文件和数据文件:
opa eval --data policy.rego --data data.json --input test.json --format raw "data.play"
如果两个文件在同一目录下,也可以简化为加载整个目录:
opa eval --data . --input test.json --format raw "data.play"
验证结果
执行修正后的命令后,会返回预期结果:
{"access":true}
OPA的--data参数支持传入多个文件或目录,所有数据源会被合并,确保策略能访问到data.Roles的完整数据,规则才能正确匹配输入的RoleID和表名。
内容的提问来源于stack exchange,提问作者Yehuda Yefet
相关产品推荐
相关产品推荐

