1

我想制定一项政策,必须通过针对没有 http api 的记录系统查询字段来做出决定。策略有没有办法调用外部程序并使用其返回码来决定是否允许/拒绝?

查看https://www.openpolicyagent.org/docs/latest/policy-reference/#built-in-functions,我没有找到要使用的功能。有我缺少的功能吗?

4

1 回答 1

2

OPA 不提供在策略评估中直接调用外部程序的方法。

我建议考虑以下几点:

  1. 在使用需要数据的 OPA 进行评估之前调用外部程序,并将程序的结果作为input.

  2. 实现自定义内置函数。查看https://www.openpolicyagent.org/docs/latest/extensions/了解几个选项(取决于您如何集成 OPA)。

  3. 您可以实现一个轻量级 HTTP 服务,该服务包装了对外部程序的调用(例如,执行另一个程序并返回数据供内置程序使用的简单 python 或 golang 应用程序http.send

于 2020-09-30T21:26:31.140 回答