我有以下情况:
在业务工作流程中,必须针对不同的论点做出许多决定。
eg:先检查用户角色,再做一些业务逻辑,再检查业务权限,ecc...
我的问题是:
假设在 PDP 上,每个论点都有许多策略,
PEP 是否应该向 PDP 发出单个(大)xacml 请求,包含所有属性(例如:用户角色、业务属性、ecc)?
或者
PEP 是否应该向 PDP 执行多个(短)xacml 请求,只包含一种属性(例如:第一次调用用户角色,第二次调用业务属性,ecc..)?
谢谢你
我有以下情况:
在业务工作流程中,必须针对不同的论点做出许多决定。
eg:先检查用户角色,再做一些业务逻辑,再检查业务权限,ecc...
我的问题是:
假设在 PDP 上,每个论点都有许多策略,
PEP 是否应该向 PDP 发出单个(大)xacml 请求,包含所有属性(例如:用户角色、业务属性、ecc)?
或者
PEP 是否应该向 PDP 执行多个(短)xacml 请求,只包含一种属性(例如:第一次调用用户角色,第二次调用业务属性,ecc..)?
谢谢你
PEP 永远不应该知道 PDP 有多少政策,更不用说它们的结构了。此外,每个授权问题都应该有一个请求。如果您有多个用例,例如
那么你应该做 4 个独立的 XACML 请求。1 个 XACML 请求 = 1 个授权请求。如果您创建了具有大量属性的单个 XACML 请求,您实际上不会问 4 个单独的问题,而是一个奇怪的组合,如果任何提供的属性触发了 Permit(当然这一切都取决于关于您拥有的策略和组合算法)。
为了节省往返时间(运输成本......),您可以使用 XACML (MDP) 的多重决策配置文件,您可以一次性询问:
公理策略服务器实现了多决策配置文件。您可以阅读这篇博文以了解如何创建请求。
HTH,大卫。