首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Postgres RLS设计多租户SAAS数据库

用Postgres RLS设计多租户SAAS数据库
EN

Stack Overflow用户
提问于 2021-12-06 09:25:41
回答 1查看 838关注 0票数 2

我想用PostgreSQL和RLS设计一个多租户的SAAS数据库。我希望能够在同一个数据库中托管所有用户和租户,并使用RLS隔离他们的数据。

在我的用例中,租户共享特定的用户数据以避免重复这些数据是有意义的。租户将请求用户的权限,这些权限存储在权限表中,这些权限用于控制RLS。

但是,我需要租户拥有其组织特有的用户数据,如联接日期或其他数据。我需要知道的是如何设计数据库来保存所有组织特定的数据。我曾经想过使用JSONB来存储这些数据,例如

代码语言:javascript
复制
user_data_for_tenant

id
user_id
tenant_id
data JSONB

这个data由前端的租户决定.

这样可以吗?如何更好地设计数据库以适应这个用例?

我将使用Supabase的DB,Auth,存储和其他用途,以便RLS可以控制访问。

EN

Stack Overflow用户

发布于 2022-01-02 15:05:25

我想为权限数据管理(AKA用户实体权限)提出以下设计建议

我们可以有一个表,其中包含映射到SaaS应用程序中每个实体的租户用户。将有类似Permission-C的权限,意思是Permission Create,等等,用于更新、删除和读取。

租户管理员可以根据角色为租户中的每个用户配置访问级别,我们可以在内部使用这些角色来管理Postgresql中的策略,以便根据租户级别的限制查询能够正常工作。

在具有记录级安全性的情况下,我们可以对数据库中的每个CRUD操作进行如下所示的所有ID访问。

下面的方法的问题是,随着数据的增长,列的增长,或者您有一个IDS和权限的平面映射。如果该方法适合您的需求,则有一些选项可以对此进行细化。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70243282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档