【问题标题】:Is it possible to use the output of an external program in an Open policy agent policy是否可以在开放策略代理策略中使用外部程序的输出
【发布时间】:2020-09-30 21:04:19
【问题描述】:

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

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

【问题讨论】:

  • 这个答案对我来说似乎很不错 - 请考虑接受它。

标签: open-policy-agent rego


【解决方案1】:

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

我建议考虑以下几点:

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

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

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

【讨论】:

    猜你喜欢
    • 2022-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    相关资源
    最近更新 更多