WSO2 API 管理器和 XACML 授权

标签 wso2 wso2-api-manager

我正在研究使用 WSO2 API Manager 1.0 来创建一个 API Store 以供我公司内部使用的可能性;我正在尝试弄清楚它是否符合所有要求。

特别是我想了解是否可以使用基于 XACML 策略的 API 访问授权机制:我找到了几篇描述如何使用 WSO2 ESB 和 WSO2 实现“XACML 细粒度授权”的文章是。

所以我的问题是,是否有可能(以及如何)配置 WSO2 API 管理器以使用 XACML 策略强制执行 API 访问,或者,如何配置它以使用 WSO2 IS 作为授权服务(作为 API Manager 似乎非常基于 ESB)。

谢谢!

最佳答案

不可能将 WSO2 API 管理器配置为 XACML 引擎,但您当然可以将其配置为一个策略执行点 (PEP)与 WSO2 身份服务器 (IS) 一起充当策略决策点(PDP/XACML 引擎)和检索授权决定。

正如您所指出的,WSO2 API 管理器网关是基于 WSO2 企业服务总线 (ESB) 的。在 ESB 中,通过向 inSequence 添加一个 Entitlement Mediator 来实现策略执行(因为您一定已经在你提到的文章中)。在 API 管理器中执行策略的方式或多或少是相同的。

但是目前没有 UI 支持将中介添加到 WSO2 API 管理器中的序列。因此,您必须使用 WSO2 API Manager 管理控制台 UI 中的源代码 View 来编辑配置文件。一种更简单的方法是首先尝试使用 WSO2 ESB 中的管理控制台 UI 添加权利调解器,然后将相关配置从其源 View 复制粘贴到 api 元素的 inSequence 在 WSO2 API 管理器中。

还有一个名为 api 处理程序 的概念,可以在 API 级别使用。如果您认为默认的权利调解器不足以/不适合您的要求,这可能对您有用。这种方法的优点是您可以灵活地编写具有任何逻辑的自定义 PEP 并将其放入请求流中,但它的另一面是您必须编写自己的代码。

关于WSO2 API 管理器和 XACML 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949590/

相关文章:

android - WSO2 IOTS 不会注册新的 Android 设备

java - 使用 Oracle JDK 1.8 在 Amazon Linuc 上访问 WS02 API 管理器中的文件时出现 IO 错误

kubernetes - 无法在 kubernetes 上部署 K8S WSO2 APIM Operator

api - 如何使用 WSO2 API Manager 1.10.0 刷新应用程序的访问 token ?

rest - WSO2 BAM:如何通过REST端点发送日志事件

wso2 - 在 wso2 API 管理器中发布 API 时间歇性失败

WSO2 API Manager TryIt 功能空键

wso2-api-manager - 在 WSO2 API 管理器中以编程方式添加用户

web-services - 如何配置 WSO2 ESB 4.0.3 以使用企业代理访问外部 Web 服务(通过 HTTP)

java - 运行时处理jar文件