open-policy-agent - 将 Open Policy Agent 与 ASP.Net Core Web API 集成
问题描述
我浏览了一些关于 OPA(开放策略代理)的视频和教程,发现使用它跨多个服务/API 实现身份验证和授权真的很酷。但是,我无法获得有关如何在 Windows 上安装它并将其与 ASP.Net 核心 Web API 集成以实现身份验证和授权的任何见解。任何人都可以帮助我吗?
谢谢,
阿米特·阿南德
解决方案
在不了解您的用例或您正在运行的平台的情况下,这里有一些一般性建议。
建筑。决定是要将 OPA 作为 sidecar 还是作为独立服务运行。这是一个架构问题,取决于延迟、性能和策略所需的数据。OPA 是一个被设计为 sidecar 的构建块,但是您可以通过旋转多个副本、在它们之间进行负载平衡、添加持久层等来围绕 OPA 构建服务。
行政。决定如何加载/更新策略并将决策记录到 OPA 中,如果适用,决定如何将数据加载到 OPA中。
服务集成。如果您使用的网络代理会拦截所有流向您的服务(例如 Envoy、Linkerd、Kong 等)的网络流量,您可以将网络代理配置为调用 OPA,而无需修改您的 .Net 服务。如果您不使用网络代理,请修改您的 .Net 服务,以便在您的服务需要策略决策时进行HTTP 标注,并尽可能使用库以尽量减少对单个服务的影响。集成页面显示了 Java Spring 和 PHP 的方法。
推荐阅读
- python - 使用 BeautifulSoup 在 Python 中再次提取嵌入的数据
- java - 在java中按降序对数组进行排序
- reactjs - Formik component=“textarea” 占位符中的多行
- android - React Native - Navigate to screen - Invalid hook call
- asp.net-mvc - 如何使用 MVC asp.net 在视图中从数据库中检索数据
- django - 如何添加用户可以编辑的自动字段
- paypal - 通过卖家提供的不同退款金额解决争议的 PayPal IPN
- reactjs - 在react-native中重新加载时如何修复连接错误?
- python - Errno 13 权限被拒绝:| 使用 ShellExecute 创建网络拦截器
- web-services - WebService InvocationTargetException