由于我们计划创建多租户应用程序,因此我正在使用Azure文档数据库。Azure DocumentDB多租户应用程序中的用户
对于多租户应用程序,我的想法是创建每个承租人1个数据库用户。这为我提供了租户数据完全分离的优势:创建文档时,将向租户用户添加权限。 (读/写)这意味着查询时,数据将始终限定在当前租户的范围内。
我也玩弄每个终端用户1个DB用户。但是这给我管理文档安全带来了很多开销。当租户z中的用户x添加文档时,来自租户z的所有用户都需要更新,并为该文档提供额外的权限。这似乎是不可行的。
我的假设是否正确?或者你会为此提出另一种方法?这种方法有什么缺点吗?
在DocumentDB的用户和权限功能旨在授予一组细粒度资源的直接访问数据库。从创建权限生成的资源令牌是临时的 - 与OATH令牌的行为方式类似。如果您希望授予用户对一组资源的直接访问权限,那么这非常适合您。如果您只是想为应用程序隔离租户,那么在中间层执行此操作会轻松很多。 –