首页 > 解决方案 > 将 Open Policy Agent 与 ASP.Net Core Web API 集成

问题描述

我浏览了一些关于 OPA(开放策略代理)的视频和教程,发现使用它跨多个服务/API 实现身份验证和授权真的很酷。但是,我无法获得有关如何在 Windows 上安装它并将其与 ASP.Net 核心 Web API 集成以实现身份验证和授权的任何见解。任何人都可以帮助我吗?

谢谢,

阿米特·阿南德

标签: open-policy-agent

解决方案


在不了解您的用例或您正在运行的平台的情况下,这里有一些一般性建议。

  1. 建筑。决定是要将 OPA 作为 sidecar 还是作为独立服务运行。这是一个架构问题,取决于延迟、性能和策略所需的数据。OPA 是一个被设计为 sidecar 的构建块,但是您可以通过旋转多个副本、在它们之间进行负载平衡、添加持久层等来围绕 OPA 构建服务。

  2. 行政。决定如何加载/更新策略并将决策记录到 OPA 中,如果适用,决定如何将数据加载到 OPA中。

  3. 服务集成。如果您使用的网络代理会拦截所有流向您的服务(例如 Envoy、Linkerd、Kong 等)的网络流量,您可以将网络代理配置为调用 OPA,而无需修改您的 .Net 服务。如果您不使用网络代理,请修改您的 .Net 服务,以便在您的服务需要策略决策时进行HTTP 标注,并尽可能使用库以尽量减少对单个服务的影响。集成页面显示了 Java Spring 和 PHP 的方法。


推荐阅读