从 Open Policy Agent (OPA) 查询传回一个值
Pass back a value from Open Policy Agent (OPA) query
我不想查看谁可以访问什么,而是想设置 return 每秒允许多少个连接,或者允许多少带宽的策略。如何将我的策略定义为 return 值而不是 true/false?
Complete rules 只是将 VALUE 分配给 VARIABLE 的 if-then 语句。当省略 VALUE 时,它隐式为 true
:
allow { input.method == "GET" }
相当于:
allow = true { input.method == "GET" }
虽然 allow
或 true
没有什么特别之处;您可以类似地定义一个规则来设置每秒连接数限制:
connections_per_second = 7 { input.tier == "gold" }
如果您有多个定义,请注意只有 一个 可以成功(否则 OPA 会引发冲突错误)。您需要解决策略内部的冲突。有不同的处理方式,例如 default
、else
、否定等
我不想查看谁可以访问什么,而是想设置 return 每秒允许多少个连接,或者允许多少带宽的策略。如何将我的策略定义为 return 值而不是 true/false?
Complete rules 只是将 VALUE 分配给 VARIABLE 的 if-then 语句。当省略 VALUE 时,它隐式为 true
:
allow { input.method == "GET" }
相当于:
allow = true { input.method == "GET" }
虽然 allow
或 true
没有什么特别之处;您可以类似地定义一个规则来设置每秒连接数限制:
connections_per_second = 7 { input.tier == "gold" }
如果您有多个定义,请注意只有 一个 可以成功(否则 OPA 会引发冲突错误)。您需要解决策略内部的冲突。有不同的处理方式,例如 default
、else
、否定等