我是 XACML 政策的新手。您能否指定我如何实施 XACML 策略。我尝试过不同的 API。但是对于我的项目,我需要实现 XACML 评估引擎。那么,你能帮我提供实现细节吗?哪种语言最适合实现评估引擎。
提前致谢。
我是 XACML 政策的新手。您能否指定我如何实施 XACML 策略。我尝试过不同的 API。但是对于我的项目,我需要实现 XACML 评估引擎。那么,你能帮我提供实现细节吗?哪种语言最适合实现评估引擎。
提前致谢。
我想,实现一个 XACML 评估引擎并不是一件容易的事。您需要通过https://www.oasis-open.org/committees/xacml/上的 XACML 规范并基于它进行实现。如果您能找到已经实现的基于 XACML 的授权引擎,那就更好了。
“Balana”是 XACML 实现之一(部分 XACML 3.0 版本),它是基于 java 的开源项目。
因此您可以自由使用它,您可以从https://svn.wso2.org/repos/wso2/trunk/commons/balana/找到源核心。
另外,如果你真的想实现一个新的 XACML 引擎,你可以通过 Balana 源代码获得一些想法实现或重用它的源代码。有关 Balana 和 XACML 的更多详细信息,请参阅http://xacmlinfo.com/上的此博客文章。我想,java 将是一种易于处理的语言,因为您需要处理更多的 XML 内容。
您想查看当今存在的 XACML 实现。
以下是当今可用的所有开源实现:
以下是供应商实现:
上面引用的所有开源实现都是 Java。Axiomatics 和 Bitkoo 还提供了 C# 引擎。
如果您想自己动手,您需要使用 JAXB 从 XACML 模式生成 XACML 对象。但这不会给你评估逻辑。
不知道你所说的“评估”是什么意思。您是否有需要评估的访问请求以确定是否授予访问权限?
为此,我能够快速运行 WSO2 Identity Server,编写 XACML 3.0 策略并让它检查访问控制请求。
服务器:http ://wso2.com/products/identity-server/ 帮助我的博客:http: //xacmlinfo.com/2012/06/13/pdp-pep-communication-wso2is/
在策略编辑方面,您可以使用一个方便的工具:ALFA(https://www.axiomatics.com/blog/how-can-i-use-policy-references-in-alfa/)。这是一个 Eclipse 插件,可让您将策略转换为 XACML 格式。