9

我是 XACML 政策的新手。您能否指定我如何实施 XACML 策略。我尝试过不同的 API。但是对于我的项目,我需要实现 XACML 评估引擎。那么,你能帮我提供实现细节吗?哪种语言最适合实现评估引擎。

提前致谢。

4

4 回答 4

8

我想,实现一个 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 内容。

于 2013-01-30T01:55:26.243 回答
8

您想查看当今存在的 XACML 实现。

以下是当今可用的所有开源实现:

以下是供应商实现:

  • Axiomatics Policy Server:完全 XACML 2.0 和 XACML 3.0 实现 - 也证明了一致性(这是 XACML 3.0 编辑器工作的地方)。实施证明:https ://lists.oasis-open.org/archives/xacml/201010/msg00002.html
  • IBM DataPower:包含 XACML 2.0 引擎
  • Quest:通过收购Bitkoo,他们也得到了XACML的支持。
  • 甲骨文

上面引用的所有开源实现都是 Java。Axiomatics 和 Bitkoo 还提供了 C# 引擎。

如果您想自己动手,您需要使用 JAXB 从 XACML 模式生成 XACML 对象。但这不会给你评估逻辑。

于 2013-01-30T15:18:48.403 回答
1

不知道你所说的“评估”是什么意思。您是否有需要评估的访问请求以确定是否授予访问权限?

为此,我能够快速运行 WSO2 Identity Server,编写 XACML 3.0 策略并让它检查访问控制请求。

服务器:http ://wso2.com/products/identity-server/ 帮助我的博客:http: //xacmlinfo.com/2012/06/13/pdp-pep-communication-wso2is/

于 2013-04-22T13:03:02.427 回答
0

在策略编辑方面,您可以使用一个方便的工具:ALFA(https://www.axiomatics.com/blog/how-can-i-use-policy-references-in-alfa/)。这是一个 Eclipse 插件,可让您将策略转换为 XACML 格式。

于 2019-02-25T12:00:08.213 回答