本当にあなたのアイデンティティシステムを管理するために複数のテナントが必要ですか?
'テナント'という概念は多くのユーザーにとってあまり馴染みがないかもしれませんが、アイデンティティモデルを構築する際には特に重要です。この記事では、例を通じて、どのようなアイデンティティモデルがあなたのビジネスに適しているかを理解する手助けをします。
現在、ローコードツールとクラウドサービスの成熟度が増し、AIのツール化が進む中で、アプリを開発するためのハードルが大幅に下がっており、市場にはますます多くのアプリが登場しています。
複雑なものからシンプルなものまで、多くのアプリはユーザー登録とログインのシナリオを含んでおり、ユーザーがより安定した安全でカスタマイズされたサービスを受けられるようにしています。そして、ユーザーのログインと登録の問題を解決するための第一歩は、アイデンティティシステムを構築することです。
多くの消費者向けアプリでは、アイデンティティモデルが比較的単純であることが多く、メールアドレスとパスワードだけで十分なこともあります。新しいユーザーを引き付けるために急成長している段階のアプリにとってはこれで十分かもしれませんが、アプリが独自のビジネスモデルを持つようになると、最も単純な場合でも、たとえば広告を提供するためには、一般ユーザーアカウントと広告主アカウントを区別する必要があります。広告主アカウントは広告配信の規模や内容などをカスタマイズできますが、一般ユーザーは一部の無料コンテンツと広告を閲覧することしかできません。
Logtoはクラウドベースのアイデンティティソリューションであり、同じカーネルを持つオープンソースソフトウェア(OSS)ソリューションも提供しており、特別なニーズを持つユーザーはカスタマイズを行うことができます。Logtoのサービスは多テナントシステムに基づいて構築されてお り、各Logtoユーザーは自分のアカウントを作成し、その中で複数のテナントを管理できます。他の様々なアイデンティティクラウドサービスも類似のアーキテクチャを持っており、各クラウドサービスはそれぞれ「テナント」の定義を持っているため、本記事で議論するテナントモデルはLogtoのシナリオに限定されており、他のベンダーには他の対応する概念があるかもしれません。
注目すべきこととして、Logtoの多テナントモデルでは、テナント間のデータ(エンドユーザーのすべての情報)は分離されています。したがって、Logtoユーザーは自身のビジネスニーズに応じたエンドユーザーのアカウントデータを1つのLogtoアカウント内で管理することができます。多くの他のアイデンティティクラウドサービスは、アカウントごとに1つのテナントしかサポートできず、同時に複数のテナントを管理する必要があるユーザーが頻繁にアカウントを切り替える必要があり、これは悪い体験をもたらします。
以上のことを踏まえ、あなたのアプリに適したアカウントモデルはどのように選ぶべきでしょうか?ここでは、3つのケースを見てみましょう。