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

使用Authzforce实现geo-XACML并将其托管在heroku上,heroku,xacml,authzforce,Heroku,Xacml,Authzforce,这两个话题我都是新手。有人能帮助我一步一步的教程来实现它们吗? 也可以建议两者的替代方案。首先警告一句:GeoXACML规范是作为XACML 2.0的扩展编写的,因为它是当时XACML的最后一个版本(GeoXACML的最后一个版本可追溯到2011年)。现在,AuthzForce只支持XACML 3.0。然而,这并不是什么大问题,GeoXACML中使用的XACML 2.0术语和模型元素可以轻松地适应XACML 3.0(特别是对XACML模式的更改很少)。如果您对该流程有疑问,请告知我们。如果您仍然

这两个话题我都是新手。有人能帮助我一步一步的教程来实现它们吗?
也可以建议两者的替代方案。

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

回到原始问题,假设您同意在XACML 3.0中使用GeoXACML,您可以在AuthzForce中使用两种类型的:

  • XACML数据类型:顾名思义,这是必须在AuthzForce中实现的扩展类型,以支持GeoXACML规范v1.0.1第6.3.1节中定义的新数据类型。请参阅AuthzForce的github repo上的,以了解如何开发此类扩展
  • XACML函数:顾名思义,这是一种必须在AuthzForce中实现的扩展,以支持GeoXACML规范v1.0.1第6.3.2节中定义的新函数。请参阅AuthzForce的github repo上的,以了解如何开发此类扩展
有了这些,我想你就可以了


如果在开发扩展时遇到AuthzForce特定的问题,请使用其中一个(或github问题)

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

回到原始问题,假设您同意在XACML 3.0中使用GeoXACML,您可以在AuthzForce中使用两种类型的:

  • XACML数据类型:顾名思义,这是必须在AuthzForce中实现的扩展类型,以支持GeoXACML规范v1.0.1第6.3.1节中定义的新数据类型。请参阅AuthzForce的github repo上的,以了解如何开发此类扩展
  • XACML函数:顾名思义,这是一种必须在AuthzForce中实现的扩展,以支持GeoXACML规范v1.0.1第6.3.2节中定义的新函数。请参阅AuthzForce的github repo上的,以了解如何开发此类扩展
有了这些,我想你就可以了


如果在开发扩展时遇到AuthzForce特定的问题,请使用其中一个(或github问题)

在这篇文章中,我已经回顾了您的问题和您的评论。我知道你是XACML的新手。有鉴于此,在我的回答中,我将努力提高您对XACML的理解,以及如何整合GeoXACML或在您的政策中普遍实施地理限制

了解XACML

XACML策略语言与自然语言一样具有表达能力。例如,考虑下面的句子:

Jane Doe希望在正常工作期间查看工作中的机密文件 营业时间

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

–主题

–行动

–资源

–提出请求的环境

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

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

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

我们通常着眼于定义:

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

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

  • Category:一个直接来自XACML的概念,它表示 属性始终属于某个类别。常用的有4种 类别:主题、行动、资源和环境;他们是 在我们教程的第2步中定义

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

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

有关在组织中实施ABAC的更多信息,请查看我在雇主网站上的博文:

我也有一篇基于StackOverflow问题的文章。答案提供了XACML和ABAC的另一个很好的概述

关于GeoXACML和地理限制的一般规定

我不确定您的具体用例,但我想指出,如果ipAddress适合您的用例,它是XACML中的一种数据类型(即,您的系统遇到的ip地址不是