如何在WSO2 IS的XACML策略中使用client_ip和request_uri

时间:2019-03-02 06:20:47

标签: wso2 wso2esb wso2is xacml abac

我们将WSO2 IS用作我们解决方案的身份总线。我们在WSO2 ESB中创建REST API以实现我们的集成,并在其中使用OAuth中介程序来保护我们的API。 在WSO2 IS中,我们将服务提供商创建为sp1,并对其应用XACML策略。我想创建XACML策略以仅在client_ip is xxx.xxx.xxx.xxxrequest URI is http://wso2ESB.uri/sampleApi/appmethod is GET时才允许传入请求。

请帮助我在WSO2 IS中制定此XACML策略。

1 个答案:

答案 0 :(得分:1)

当前,WSO2 Identity Server仅支持针对oauth2 / oidc服务提供商的基于范围的XACML策略评估,其中没有开箱即用的功能来针对client_ip,请求URI,HTTP方法评估策略。解决这种情况的一种方法是,无论使用oauth介体,您都可以编写自定义类介体来拦截请求(PEP)并调用EntitlementService来对Identity Server中的XACML PDP评估请求。在自定义类介体内部,您可以编写必要的逻辑以提取XACML请求client_ip,请求URI,HTTP方法... etc

的必要信息。

[1] https://docs.wso2.com/display/IS570/Validating+the+Scope+of+OAuth+Access+Tokens+using+XACML+Policies