0

PostgreSQL と RLS を使用してマルチテナント SAAS データベースを設計したいと考えています。すべてのユーザーとテナントを同じデータベースでホストし、それらのデータを RLS で分離できるようにしたいと考えています。

私の使用例では、テナントが特定のユーザー データを共有して、それらのデータの重複を避けることは理にかなっています。テナントはユーザーにアクセス許可を要求し、これらのアクセス許可はアクセス許可テーブルに格納され、これらのアクセス許可は RLS を制御するために使用されます。

ただし、テナントには、加入日やその他のデータなど、組織に固有のユーザー データが必要です。私が知る必要があるのは、組織固有のすべてのデータを保持するデータベースをどのように設計できるかということです。JSONBを使用してこのデータを次のように保存することを考えました

user_data_for_tenant

id
user_id
tenant_id
data JSONB

これdataは、フロントエンドのテナントによって決定されます。

これでいいですか?このユースケースに適合するようにデータベースをどのように設計すればよいでしょうか?

RLS がアクセスを制御できるように、DB、認証、ストレージ、およびその他の用途に Supabase を使用します。

4

1 に答える 1