Logtoのマルチテナンシーモデルの説明
Logtoのマルチテナンシーモデルの設計方法と、それがSaaSアプリにどのような利点をもたらすかを見てみましょう。
Logtoのマルチテナンシーモデルの設計方法と、それがSaaSアプリにどのような利点をもたらすかを見てみましょう。
"マルチテナンシー" という用語をアイデンティティの分離を表現するために使用するいくつかのプロダクトを耳にしたことがあるかもしれません: 各テナントは独自のユーザー、役割、権限、データを持っています。
直感に反するように思えるかもしれませんが、実際には"マルチテナンシー"はその逆を意味します: 複数のテナントが単一のインスタンスでリソースを共有しているのです。ユーザーにとっては、アプリ内のアイデンティティは運転免許証のようなものです。例えば、一つの運転免許証でさまざまな州で運転できる(複数の組織に対して一つのアイデンティティ)、各州に新しい運転免許証を申請する代わりに。
Logtoでは、設計の初期段階でこの混乱に気づき、アプリとユーザーに正しく適用することを努めました。私たちの設計は次のとおりです:
このモデルは、特にSaaSアプリのアイデンティティ管理に柔軟性と再利用性を提供します。人気のあるSaaSアプリを見てみると、このモデルに全て一致することがわかります。アプリによって「組織」という用語が異なるかもしれませんが、例えば「ワークスペース」や「チーム」など、それでもコンセプトは同じです。
たとえば、Notion(人気のあるコラボレーションツール)では:
したがって、ユーザーはアカウントを切り替えたり再度サインインすることなく、ワークスペース間を簡単に切り替えることができ、ワークスペース間の分離も維持されます。これをLogtoのモデルに翻訳すると、次のようになります:
異なるロールに応じて、ユーザーは異なるワークスペース(組織)で異なる権限を持つことができます。
ユーザーにとって、真のシングルサインオン体験を楽しむことができます。組織間の切り替えは、タブ間の切り替えと同じくらい簡単です。
SaaSアプリの一つの利点は、それが標準化されており、スケーラブルであるということです。たとえば、Notionで新しいワークスペースを数クリックで作成し、すぐに使用可能にすることができます。
アプリが成長するにつれて、各組織にさらに多くのロールと権限を追加したいと思うかもしれません。たとえば、新しいロール「ゲスト」や新しい権限「招待:ゲスト」。すべての既存組織を一つずつ更新しなければならない場合は、悪夢になる可能性があります。
Logtoを使用すると、組織テンプレートを更新することで、すべての既存組織が自動的に更新されます。
Logtoでは、組織とAPIリソースの両方に同じアクセスコントロールモデル (RBAC) を使用しています。つまり、RBACに慣れていれば、新しいアクセスコントロールモデルを学ぶ必要がないということです。同時に、それらは互いに分離されているため、異なるユースケースに使用できます。
最もエキサイティングな部分は、それらを同時に使用できることです。Notionの例を拡張しましょう:
ほとんどのLogto SDKは両方の種類のRBACをサポートしています。
違い
組織RBACとAPIリソースRBACは次の点で異なります:
SaaSアプリを構築するのは難しく、Logtoがあなたのコアビジネスに集中できるように支援できることを願っています。もし質問や提案があれば、遠慮なく私たちにフィードバックしてください。