我正在为规则编写一个带有ordered-permit-overrides的策略。
规则1允许具有适当安全级别的任何人访问所有内容。
规则2允许任何拥有替代凭据的人访问某些内容(3个资源)。
规则3拒绝访问其他所有内容。如果用户既没有安全级别也没有凭据,则这是一种故障保护。
我的问题是我可以让我的服务器运行该程序,规则1工作正常。对于规则2,如果我给出所需的值,我得到的唯一结果是“拒绝”,如果我留下任何空白,则它是“不确定的”。尽管使用了ordered-permit-overrides,我认为该策略没有运行我的规则2。
我已经尝试使用规则3注释掉运行脚本,结果只是“不确定”或“不适用”。
在规则1中,我将目标留空。对于规则2,我定义了资源,但没有定义主题。我是否需要指定主题才能使此规则生效?还有其他可能导致我的第一和第三条规则运作的东西,但不是我的第二条规则。
答案 0 :(得分:0)
如果你可以在这里分享你的政策,那将是很好的,所以我们可以看看。你用什么来编写和测试政策。
您可能知道不确定是由于PDP内部的错误,例如你要求存在一个属性,但你没有发送它,或者你在一个缺失的属性上使用了一个字符串 - 一个唯一的(或任何* -one-and-only)函数。
顺便问一下,为什么不首先使用适用的组合算法?
查看Eclipse的ALFA插件(它是免费的),以便能够快速编写策略,而无需了解XACML语法:http://www.axiomatics.com/axiomatics-alfa-plugin-for-eclipse.html