多租户应用程序中的Azure DocumentDB用户

时间:2016-11-08 14:56:32

标签: azure-active-directory multi-tenant azure-cosmosdb

我正在使用Azure文档数据库,因为我们计划创建一个多租户应用程序。

对于多租户应用程序,我的想法是为每个租户创建1个db用户。这为我提供了租户数据完全分离的优势:创建文档时,会向租户用户添加权限。 (读/写)这意味着在查询时,数据将始终作用于当前租户。

我还在为每个最终用户使用1个DB用户。但这给我带来了很多管理文档安全性的开销。当来自租户z的用户x添加文档时,需要使用该文档的额外权限更新来自租户z的所有用户。这似乎不可行。

我的假设是否正确?或者你会建议另一种方法吗?这种方法有什么缺点吗?

1 个答案:

答案 0 :(得分:2)

对于我们的多租户解决方案,我们选择不使用DocumentDB的控件,并在中间层执行所有授权,主要是因为我们希望它基于谓词而且每个租户不同。也就是说,您在租户级别使用DocumentDB授权功能的方法是有道理的。这将使您的租户更加确信其他租户无法看到他们的数据。

我的一个想法是,如果你有一些跨租户功能(可能是租户组的形式),那么它会打破模型,所以你可能想要考虑。

我认为租户数百,用户数千,但无论它们是什么,您应该确认DocumentDB授权功能可以扩展到该级别。也许其中一个监控这个的DocumentDB产品经理会加入进来?