XACML政策执行点(PEP)最佳实践

时间:2014-10-22 14:35:49

标签: authorization access-control xacml abac

我有以下情况:

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

例如:首先检查用户角色,然后执行一些业务逻辑,然后检查业务权限,ecc ......

我的问题是:

假设在PDP上有每个参数的许多策略,

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

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

Axiomatics Policy Server实现多决策配置文件。你可以阅读blog post to understand how to create the request

HTH, 大卫。