是否有 JSON 配置文件来定义 XACML 策略?

Is there a JSON profile to define XACML policies?

我是 XACML 世界的新手。我已经阅读了一些关于 JSON 和 v3.0 标准的 REST 配置文件的文档,但我能找到的所有内容都与 XACML 请求和响应有关,而不是策略(这是我感兴趣的部分)。

是否有关于如何使用 JSON 配置文件而不是传统的 XML 格式定义 XACML 策略的文档?

没有目前没有。 JSON profile of XACML 仅处理 XACML 请求和响应。配置文件背后的想法是提供一种更轻量级的方式来发送和接收 XACML 请求/响应。

由于策略通常处于静止状态,因此策略的编码并不重要。

也就是说,您可能对以下 3 项举措感兴趣:

  • XACML 的 ALFA 配置文件:这是一种伪代码符号,用于以简单的方式编写 XACML 策略。我工作的公司 Axiomatics 目前正在将规范作为概要文件提交给 OASIS XACML 技术委员会。
  • 沃特福德理工学院的 Bernard Butler 确实在 JSON 中实施了 XACML 策略。您可以找到他的一些作品 here。它使用了很多与 JSON 配置文件
  • 中使用的相同的想法
  • nMed LLC 的 Ron Turner 在这方面也做了一些工作 space。你可以找到一个 presentation on the topic here.

如前所述,XACML 策略没有标准的 JSON 格式。然而,有一些众所周知的约定可以将 XML 转换为 JSON(有限制),主要由 REST API 框架使用。因此,如果您知道 XML 格式,则约定会告诉您 JSON 格式。例如,Apache CXF used to support two conventions: Badgerfishmapped 约定。 Badgerfish 不再在 CXF 中维护,因此现在首选 mapped 约定。

mapped 约定是 AuthzForce 服务器 - 另一个 ABAC/XACML 实现 - 用于 RESTful PAP(策略管理点)API,以便您可以管理 XML(标准 XACML)或 JSON 格式的 XACML 策略。我们特别为基于 Javascript 的应用程序(例如网络用户界面)使用了 JSON 格式。