其他规则结果是否会影响策略的正确性?
Will other rule results impact the correctness of the policy?
我正在制定具有多个条件的 rego 政策。每个条件都需要调用 REST api.
的相同端点
由于另一条规则,我成功保留了服务调用的结果。
策略上的评估包命令(带有 OPA 扩展的 VS 代码)的结果现在如下所示:
[ [
{
"allow": false,
"someProp": [
"N/A"
]
} ] ]
一旦策略部署到服务器,这会影响策略的正确性吗?
编辑
在我更改之前,策略只返回 allow。
VS Code 插件的“评估包”功能几乎就是这样做的:) 即它评估整个包,包括所有规则。您将在 Rego Playground 中看到相同的默认行为,因为这是了解正在发生的事情以查看所有规则的计算结果的一种很好的方式。
当 运行 OPA 作为服务器时(或者无论如何,opa eval
),你通常只会查询你感兴趣的特定规则,所以如果在你的情况下你有在名为 mypolicy
的包中定义了您的策略,对 OPA REST API 的请求可能会发送到 /v1/data/mypolicy/allow
端点以仅评估 allow
规则而不是整个包(可以在 /v1/data/mypolicy
.
查询
我正在制定具有多个条件的 rego 政策。每个条件都需要调用 REST api.
的相同端点由于另一条规则,我成功保留了服务调用的结果。
策略上的评估包命令(带有 OPA 扩展的 VS 代码)的结果现在如下所示:
[ [ { "allow": false, "someProp": [ "N/A" ] } ] ]
一旦策略部署到服务器,这会影响策略的正确性吗?
编辑
在我更改之前,策略只返回 allow。
VS Code 插件的“评估包”功能几乎就是这样做的:) 即它评估整个包,包括所有规则。您将在 Rego Playground 中看到相同的默认行为,因为这是了解正在发生的事情以查看所有规则的计算结果的一种很好的方式。
当 运行 OPA 作为服务器时(或者无论如何,opa eval
),你通常只会查询你感兴趣的特定规则,所以如果在你的情况下你有在名为 mypolicy
的包中定义了您的策略,对 OPA REST API 的请求可能会发送到 /v1/data/mypolicy/allow
端点以仅评估 allow
规则而不是整个包(可以在 /v1/data/mypolicy
.