2014-02-18 255 views
0

我正在使用WSO2 Identity Server版本4.6.0。PDP访问权限限制

我试着去了解如何WSO2 IS可以为了一个PEP发送请求到PDP没有在WSO2给人以身份验证的用户太多的权级部署是正确的做法。

事实上,我已经低于该线程许可“管理”的帮助下发现必须设置给用户,以便它可以调用PDP:

Permissions to set in order enable acess to XACML PDP

我有试图删除父权限“管理”的某些子权限,但每次对PDP的调用都返回“拒绝访问”。

我的问题:

的许可“管理”给太多的访问用户只需拨打PDP。

我的问题:

有一种方法来避免这个问题?

回答

1

是的,我也同意你的看法。但是要更改此权限,可能需要修改WSO2IS的jar文件。因为它已经在jar文件的service.xml文件中定义了,它暴露了这个EntitlementService。请检查here。但是我们可以通过修改这个值来配置新的权限,比如说... /permission/admin/manage/add/service即将配置。

如何修改jar文件。

  1. 找到授权jar文件并将其打开。

文件辊wso2is-4.5.0 /存储库/组件/插件/ org.wso2.carbon.identity.entitlement_4.2.0.jar

  1. 找到service.xml文件在META-INF里面并打开它。

  2. 然后修改EntitlementService配置下的值。

  3. 重新启动服务器。

像这样,您可以修改任何预定义值的权限。您还可以通过从注册表浏览器添加新资源来向上述权限树添加新权限。如果您使用注册表浏览器浏览到/_system/governance/permission/admin/manage,则可以使用name属性定义新集合。然后它会显示在权限树中。 我想这会帮助你。

+0

非常感谢您的回答。我的另一个想法是通过自定义的tomcat阀门使用模拟(使用专门的技术用户)。此阀门将管理由授权服务返回的http认证标头和关联的会话cookie,以便将认证隐藏到调用者。 – righettod

+1

是的..这将工作..你可以使用会话cookie进行后续通信。请从这里找到用于调用授权服务的java代码..我想这对您会有帮助https://svn.wso2.org/repos/wso2/people/asela/xacml/pep/4.2.X/ – Asela

+0

谢谢非常适合你的帮助:) – righettod