我们如何在XACML中使用义务?任何参考将有帮助
场景是,义务应参考PIP并将结果重新运行到PEP
谢谢
- -编辑 - -
作者评论示例:
<ObligationExpressions>
<ObligationExpression ObligationId="EmailObligation" FulfillOn="Permit">
<AttributeAssignmentExpression AttributeId="urn:oasis:names:tc:xacml:3.0:example:attribute:text">
<AttributeDesignator MustBePresent="false" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="w3.org/2001/XMLSchema#string"/>
</AttributeAssignmentExpression>
</ObligationExpression>
</ObligationExpressions>
最佳答案
XACML中的义务(以及XACML 3.0中引入的建议)用于丰富授权流程。
典型的XACML响应仅带有决定(“允许”,“拒绝”,“不适用”或“不确定”)。但是,如果您想告诉用户为什么拒绝访问该怎么办?如果要实现“打破常规”方案怎么办?
这是义务和建议派上用场的地方。这里有一些例子:
拒绝爱丽丝访问文档D +义务:向其经理鲍勃发送电子邮件,告知他爱丽丝试图访问文档D。
拒绝Doctor House查看病历的权利+义务:告诉Doctor House他可以“砸碎玻璃”来访问病历。
允许Joe查看文档D,但在将文档返回给Joe之前先给文档加水印
在XACML 3.0中,义务和建议可以具有可变的部分,例如-在以上示例中-经理的电子邮件。这些部分可以从PIP检索。