XACML义务

Cij*_*joy 4 authorization access-control xacml xacml3

我们如何在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>
Run Code Online (Sandbox Code Playgroud)

Dav*_*ard 6

XACML中的义务(以及XACML 3.0中引入的建议)用于丰富授权流程.

典型的XACML响应仅承担决策(允许,拒绝,不适用或不确定).但是,如果您想告诉用户访问被拒绝的原因怎么办?如果你想实现"打破玻璃"场景怎么办?

这是义务和建议派上用场的地方.这里有一些例子:

  • 拒绝Alice访问文档D +义务:通过电子邮件发送给她的经理Bob,让他知道Alice试图访问文档D.
  • 拒绝医生之家查看医疗记录+义务的权利:告诉医生之家,他可以"打破玻璃"访问医疗记录.
  • 允许Joe查看文档D,但在将文档返回给Joe之前先将文档加水印

在XACML 3.0中,义务和建议可以包含可变部分,例如 - 在上面的示例中 - 经理的电子邮件.可以从PIP中检索这些部分.