6

我们如何在 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>
4

1 回答 1

9

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

典型的 XACML 响应仅包含一个决定(允许、拒绝、不适用或不确定)。但是,如果您想告诉用户访问被拒绝的原因怎么办?如果你想实现一个“打破玻璃”的场景怎么办?

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

  • 拒绝 Alice 访问文档 D + 义务:给她的经理 Bob 发送电子邮件,让他知道 Alice 试图访问文档 D。
  • 拒绝豪斯医生查看病历的权利+义务:告诉豪斯医生他可以“打破玻璃”查看病历。
  • 允许 Joe 查看文档 D,但在将文档返回给 Joe 之前先给文档添加水印

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

于 2014-05-16T20:56:09.933 回答