wso2中的XACML自定义规则组合算法

时间:2015-10-14 08:08:53

标签: algorithm wso2is xacml abac balana

我是WSO2 IS的用户, 我需要在我的WSO2 IS中添加自定义RuleCombining算法。 我正在使用这个example balana,当我创建this时 WSO2中的策略是我获得此错误:不支持的权利策略。无法解析策略,这是WSO2 IS的日志:

ERROR {org.wso2.carbon.identity.entitlement.pap.PAPPolicyReader} -  Error while parsing the policy org.wso2.balana.ParsingException: Error parsing combining algorithm in Policy 
Caused by: org.wso2.balana.UnknownIdentifierException: unknown combining algId: urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:highest-effect
        at org.wso2.balana.combine.BaseCombiningAlgFactory.createAlgorithm(BaseCombiningAlgFactory.java:138)
        at org.wso2.balana.AbstractPolicy.<init>(AbstractPolicy.java:237)

编辑:

感谢David的回答,

在同一个示例页面中,我们可以看到我们可以使用自定义函数,算法和数据类型扩展WSO2 IS,添加balana配置文件:

  

但是,如果要问WSO2 Identity Server初始化   Balana通过阅读配置文件。你可以通过创建一个新的来做到这一点   配置文件名为“balana-config.xml”下的   / repository / conf / security目录。举个例子,说你   想要添加新规则组合算法以使用WSO2身份   服务器授权引擎。然后你可以按照同样的方式   用Balana配置它。有关更多信息,请参阅此博客文章   细节。但是,我想总结一下要遵循的步骤。

但是按照这些步骤后,它似乎无法正常工作。

我们将不胜感激为您解决这个问题。

我正在考虑将公理化作为XACML引擎,但似乎很难获得用于测试或初始目的的版本。你能否就这个问题给我任何启示?

1 个答案:

答案 0 :(得分:1)

使用自定义组合算法扩展WSO2 IS是不可能的。您链接到州的帖子:

  

WSO2 Identity Server不处理那些因为大多数   应用程序使用标准的函数集,属性和组合   XACML规范中定义的算法。因此,通过   默认情况下,WSO2 Identity Server使用初始化Balana实例   默认标准配置。

如果您想使用组合算法,请改用Axiomatics Policy Server

旁注:为什么要组合算法?您应该尝试坚持使用标准组合算法。 urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:highest-effect做了什么?此外,您不能将OASIS命名空间用于组合算法。