1

我不想查看谁可以访问什么,而是想设置策略来返回每秒允许多少个连接,或者允许多少带宽。如何定义我的策略以返回值而不是 true/false?

4

1 回答 1

2

完整的规则只是将 VALUE 分配给 VARIABLE 的 if-then 语句。当 VALUE 被省略时,它是隐式的true

allow { input.method == "GET" }

相当于:

allow = true { input.method == "GET" }

没有什么特别allowtrue。您可以类似地定义一个设置每秒连接数限制的规则:

connections_per_second = 7 { input.tier == "gold" }

如果您有多个定义,请注意只有一个可以成功(否则 OPA 将引发冲突错误)。您需要解决政策内部的冲突。有不同的处理方式,例如default,、、else否定等。

于 2021-11-02T16:26:44.663 回答