【问题标题】:XACML ObligationsXACML 义务
【发布时间】:2020-08-22 02:37:07
【问题描述】:

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

【问题讨论】:

  • 喜欢这个 w3.org/2001/XMLSchema#string">
  • 我将您的示例移至问题中。如果我的回答令人满意,请采纳。谢谢。

标签: authorization access-control xacml xacml3


【解决方案1】:

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

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

这就是义务和建议派上用场的地方。以下是几个例子:

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

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

【讨论】:

  • XACML 中是否有定义前置义务和后置义务的概念?敌人示例:要批准提案系主任需要签署 然后发布义务是通知院长批准下一个工作流程。
  • 它们都被视为义务。在这种情况下,您实际上会发送 2 个 XACML 请求
  • 我通过在 ObligationExpression 和客户端中的两个 AttributeExpression 的 attributeId 中指定两个不同的任务类型(即预义务和后义务)来做到这一点,我首先检查所有预义务是否已履行执行和验证后义务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多