我们将WSO2 IS
用作我们解决方案的身份总线。我们在WSO2 ESB
中创建REST API以实现我们的集成,并在其中使用OAuth中介程序来保护我们的API。
在WSO2 IS中,我们将服务提供商创建为sp1
,并对其应用XACML策略。我想创建XACML策略以仅在client_ip is xxx.xxx.xxx.xxx
和request URI is http://wso2ESB.uri/sampleApi/app
和method is GET
时才允许传入请求。
请帮助我在WSO2 IS中制定此XACML策略。
答案 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