使用Authzforce Core的多租户动态根策略集

问题描述 投票:0回答:1

我基本上想在多租户系统中使用Authzforce

现在,我有一个根策略,其中有几个PolicySetIdReference元素指向其他策略集(每个组织),但是我注意到它试图解析每个参考元素并查询数据库(我建立了自己的MongoDbBasedRefProvider的版本)。我担心我会不必要地为其他组织加载其他所有政策。

<PolicySet PolicySetId="ROOT" ....>
    <PolicySetIdReference>ID-for-org-1</PolicySetIdReference>
    <PolicySetIdReference>ID-for-org-2</PolicySetIdReference>
</PolicySet>

我是否能够使根策略提供者检查某些条件(基于组织),以便我检查的策略明显较小?在上面的示例中,我只想为ID-for-org-1

检索一个
authorization access-control xacml abac authzforce
1个回答
0
投票

[对于完整的多租户,我建议每个租户拥有一个PDP实例,即根据租户(组织)ID将请求分派到特定的PdpEngine实例,例如通过String-to-PdpEngine映射或其他方法,只是一个建议。

如果您仍想对所有租户使用相同的PDP引擎(即处理所有租户的策略),请确保您执行所有这些操作:

  1. 在ROOT策略中使用first-applicable策略组合算法(以便评估在其中的第一个适用策略集处停止。
  2. 确保XACML请求中存在租户/组织ID属性。
  3. [在每个组织策略集中定义一个XACML目标,并在此租户/组织ID属性上设置一个匹配项(等于),以确保仅在租户/组织ID匹配时才应用(评估)该策略集。
  4. 在PDP上实施并启用Decision Cache
© www.soinside.com 2019 - 2024. All rights reserved.