我基本上想在多租户系统中使用Authzforce。
现在,我有一个根策略,其中有几个PolicySetIdReference
元素指向其他策略集(每个组织),但是我注意到它试图解析每个参考元素并查询数据库(我建立了自己的MongoDbBasedRefProvider
的版本)。我担心我会不必要地为其他组织加载其他所有政策。
<PolicySet PolicySetId="ROOT" ....>
<PolicySetIdReference>ID-for-org-1</PolicySetIdReference>
<PolicySetIdReference>ID-for-org-2</PolicySetIdReference>
</PolicySet>
我是否能够使根策略提供者检查某些条件(基于组织),以便我检查的策略明显较小?在上面的示例中,我只想为ID-for-org-1
[对于完整的多租户,我建议每个租户拥有一个PDP实例,即根据租户(组织)ID将请求分派到特定的PdpEngine
实例,例如通过String-to-PdpEngine映射或其他方法,只是一个建议。
如果您仍想对所有租户使用相同的PDP引擎(即处理所有租户的策略),请确保您执行所有这些操作:
first-applicable
策略组合算法(以便评估在其中的第一个适用策略集处停止。