使用Authzforce实施geo XACML并将其托管在heroku上

时间:2018-10-27 06:52:59

标签: heroku xacml authzforce

我对这两个主题都是陌生的。有人可以帮助我逐步实施它们吗? 也可以建议使用两者的替代方法。

2 个答案:

答案 0 :(得分: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。

回到原始问题,假设您同意在XACML 3.0中使用GeoXACML,则可以仅使用两种AuthzForce extensions在AuthzForce中实现它:

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

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

如果您在开发扩展程序时遇到AuthzForce特定的问题,请使用support channels mentioned on the github(或github问题)之一。

答案 1 :(得分: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问题“ on my personal blog”的文章How to authorize specific resources based on users who created those in REST, using annotations?。答案为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模型和架构的所有点。扩展点是:

  • 类别
  • AttributeId
  • 数据类型
  • FunctionId
  • MatchId
  • ObligationId
  • AdviceId
  • PolicyCombiningAlgId
  • RuleCombiningAlgId
  • StatusCode
  • SubjectCategory

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

最好, 迈克尔