XACML 规则主题

Posted

技术标签:

【中文标题】XACML 规则主题【英文标题】:XACML Rule Subject 【发布时间】:2013-02-28 15:48:15 【问题描述】:

我正在为规则编写一个带有ordered-permit-overrides 的策略。

规则 1 允许具有适当安全级别的任何人访问所有内容。

规则 2 允许拥有其他凭据的任何人访问某些内容(3 个资源)。

规则 3 拒绝访问其他所有内容。如果用户既没有安全级别也没有凭据,这是一种故障保护。

我的问题是我可以让我的服务器运行程序并且规则 1 可以正常工作。对于规则 2,如果我给出所需的值,我得到的唯一结果是“拒绝”,如果我留下任何空白,它是“不确定的”。我认为尽管使用了ordered-permit-overrides,但该政策并未运行我的规则2。

我尝试运行注释掉规则 3 的脚本,结果只是“不确定”或“不适用”。

在规则 1 中,我将目标留空。对于规则 2,我定义了资源,但没有定义主题。我是否需要指定主题才能使此规则生效?是否还有其他因素可能导致我的第一条和第三条规则起作用,但不是我的第二条。

【问题讨论】:

我解决了这个问题。我在策略和规则 1 中调用了相同的资源,所以我不能再次调用它。 XACML 中的资源必须是互斥的。资源是我的包,子资源是页面。 ...我通过在规则 1 中声明一个具有高级权限的主题并将条件留空来解决它。该规则是一个许可规则。 【参考方案1】:

如果您能在此处分享您的政策以便我们查看,那就太好了。您使用什么来编写和测试策略。

您可能知道,不确定是由于 PDP 内部的错误,例如您要求一个属性存在,但您没有发送它,或者您在缺少的属性上使用了一个字符串(或任何*一个)函数。

对了,你为什么不使用first apply作为组合算法呢?

查看 Eclipse 的 ALFA 插件(它是免费的),以便能够快速编写您的策略,而无需了解 XACML 语法:http://www.axiomatics.com/axiomatics-alfa-plugin-for-eclipse.html

【讨论】:

以上是关于XACML 规则主题的主要内容,如果未能解决你的问题,请参考以下文章

监控 Orion Context Broker 以创建新的 XACML 规则

即使策略规则中缺少该属性,具有附加属性的 XACML 3.0 请求也匹配

XACML 规则中如何使用 Fiware 服务和服务路径?

XACML 政策。应用函数字符串子集给出意外结果

比较 XACML 策略中的两个多元素属性

如何评估 XACML 策略