1

我对这两个主题都是全新的。有人可以帮助我逐步教程来实现它们吗?也可以建议他们两者的替代方案。

4

2 回答 2

3

首先警告一句:GeoXACML 规范是作为 XACML 2.0 的扩展编写的,因为它是当时 XACML 的最后一个版本(最后一个 GeoXACML 版本可以追溯到 2011 年)。现在,AuthzForce 只支持 XACML 3.0。然而,这没什么大不了的,GeoXACML 中使用的 XACML 2.0 术语和模型元素可以很容易地适应 XACML 3.0(特别是对 XACML 模式的一些更改)。如果您对该过程有任何疑问,请告诉我们。如果您仍在使用 XACML 2.0,我强烈建议您迁移到 XACML 3.0。

回到最初的问题,假设您同意将 GeoXACML 与 XACML 3.0 一起使用,您可以在 AuthzForce 中实现它,只需两种AuthzForce 扩展

  • XACML 数据类型:顾名思义,这是您必须在 AuthzForce 中实现的一种扩展,以支持 GeoXACML 规范 v1.0.1 第 6.3.1 节中定义的新数据类型。请参阅AuthzForce 的 github 存储库上的wiki 页面,了解如何开发此类扩展。
  • XACML 函数:顾名思义,这是您必须在 AuthzForce 中实现的一种扩展,以支持 GeoXACML 规范 v1.0.1 的第 6.3.2 节中定义的新函数。请参阅AuthzForce 的 github 存储库上的wiki 页面,了解如何开发此类扩展。

有了这个,我想你已经被覆盖了。

如果您在开发扩展时遇到 AuthzForce 特定问题,请使用github 上提到的支持渠道之一(或 github 问题)。

于 2018-11-12T16:00:20.200 回答
2

我已经在整个帖子中查看了您的问题和评论。我了解您完全是 XACML 的新手。考虑到这一点,我将在我的回答中寻求提升您对 XACML 以及如何集成 GeoXACML 或在您的政策中普遍实施地理限制的理解。

了解 XACML

XACML 策略语言与自然语言一样富有表现力。例如,考虑以下句子:

Jane Doe 想在正常工作时间查看工作中的机密文件。

像这样的句子包括四个语法构建块:

- 课程

- 一种行为

– 资源

– 发出请求的环境

这些“构建块”中的每一个都可以使用属性来描述。

要为组织创建授权策略,您需要从负责定义信息安全策略的个人那里收集需求。

接下来,您将采用负责授权策略的人员提供的策略并识别属性。

我们通常着眼于定义:

  • 短名称:属性的用户友好名称,例如角色或公民身份。它是通常显示在编辑器和报告工具中的名称。

  • 命名空间:属性所属的上下文。命名空间遵循反向域名符号命名约定,就像我们在 Java 中使用的一样。因此,如果我们有 com.organization.user,我们可以附加一个短名称(如角色)来创建完全限定的 XACML 属性标识符 com.organization.role。

  • 类别:一个直接来自 XACML 的概念,它声明一个属性始终属于一个类别。常用的有4类:主体、动作、资源、环境;它们在我们教程的第 2 步中定义。

  • 数据类型:数据的分类。XACML 中的属性值可以是不同的类型。最常用的是字符串、整数和布尔值。有十几种数据类型可供选择。

  • 值范围:一个可选字段,用于指定所提供值的模式或范围。属性值可以是完全随机的(例如用户的名字)。其他的属于固定的值列表,例如州名或模式,例如邮政编码。

有关在组织中实施 ABAC 的更多信息,请查看我在雇主网站上写的博客文章:https ://www.axiomatics.com/blog/intro-to-attribute-based-access-control-abac/

我的个人博客上还有一篇基于 StackOverflow 问题的文章,“如何根据在 REST 中使用注释创建资源的用户授权特定资源? ”。答案总体上提供了对 XACML 和 ABAC 的另一个很好的概述。

关于 GeoXACML 和一般地理限制

我不确定您的确切用例,但我想提一下 ipAddress 是 XACML 中的一种数据类型,以防它适合您的用例(即您的系统遇到未通过 VPN 或其他 ip 路由的 ip 地址混淆方法等)。数据类型列表可以在这里找到:http: //docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html

我不知道有任何软件可以开箱即用地提供具有企业级 XACML 实施的 GeoXACML。我们可以在 Axiomatics(我的雇主)提供的服务是扩展我们的软件 Axiomatics Policy Server,让您可以根据自己的喜好添加 GeoXACML 甚至其他地理特征。(注意:当我的同事 David Brossard 在上面的评论中建议您“尝试 Axiomatics PS”时,它代表 Axiomatics Policy Server。)

XACML 中的“X”代表可扩展。而且,确实,该模型具有足够的可扩展性,可以提供执行此类操作所需的灵活性。

XACML 核心规范 3.0 版实际上有一个名为 XACML 扩展点的部分,其中列出了 XACML 模型和模式可以用新语义扩展的所有点。扩展点是:

  • 类别
  • 属性 ID
  • 数据类型
  • 函数 ID
  • 匹配 ID
  • 义务 ID
  • 建议 ID
  • PolicyCombiningAlgId
  • RuleCombiningAlgId
  • 状态码
  • 学科类别

您可以在 StackOverflow 上或通过所提供网站上的联系页面跟进任何问题。

最好的,迈克尔

于 2018-11-29T17:45:14.263 回答