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