0

我有以下情况:

在业务工作流程中,必须针对不同的论点做出许多决定。

eg:先检查用户角色,再做一些业务逻辑,再检查业务权限,ecc...

我的问题是:

假设在 PDP 上,每个论点都有许多策略,

PEP 是否应该向 PDP 发出单个(大)xacml 请求,包含所有属性(例如:用户角色、业务属性、ecc)?

或者

PEP 是否应该向 PDP 执行多个(短)xacml 请求,只包含一种属性(例如:第一次调用用户角色,第二次调用业务属性,ecc..)?

谢谢你

4

1 回答 1

0

PEP 永远不应该知道 PDP 有多少政策,更不用说它们的结构了。此外,每个授权问题都应该有一个请求。如果您有多个用例,例如

  • 创建交易
  • 查看交易
  • 打印交易
  • 批准交易

那么你应该做 4 个独立的 XACML 请求。1 个 XACML 请求 = 1 个授权请求。如果您创建了具有大量属性的单个 XACML 请求,您实际上不会问 4 个单独的问题,而是一个奇怪的组合,如果任何提供的属性触发了 Permit(当然这一切都取决于关于您拥有的策略和组合算法)。

为了节省往返时间(运输成本......),您可以使用 XACML (MDP) 的多重决策配置文件,您可以一次性询问:

  • 用户可以创建、查看、打印、批准交易 X 吗?

公理策略服务器实现了多决策配置文件。您可以阅读这篇博文以了解如何创建请求

HTH,大卫。

于 2014-10-22T19:49:35.597 回答