マルチテナントは、サーバー上で実行され、複数のユーザーグループがアクセスできるソフトウェアの単一インスタンスを特徴とする、アーキテクチャアプローチです。マルチテナントを使用すると、特性を共有するユーザーをグループに分割し、アプリケーションに対する個別のアクセス許可とアクセスレベルを付与できます。これにより、さまざまな顧客、事業単位、またはその他の定義されたユーザーグループに合わせてカスタマイズされたエクスペリエンスを作成、維持できます。 Auth0でマルチテナントを実装する最も良い方法は、Auth0 Organizationsを使用することです。必要に応じて、他のレガシーソリューションを使用して、個別のビジネスユースケースへの対応も可能です。貴社が企業間(B2B)の製品またはサービスを提供している場合は、ビジネスユーザー用にマルチテナントをセットアップすることで、ユースケースに役立つことがあります。 以下のセクションでは、Auth0でマルチテナントを実装するために使用できるオプションについて概説します。Documentation Index
Fetch the complete documentation index at: https://auth0-feat-ionic-capacitor-quickstart-modernization.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Auth0 Organizations
ほとんどのマルチテナントユースケースでは、Auth0 Organizationsは貴社と貴社のユーザーにとって理想的なソリューションです。Auth0 Organizationsは、エンドユーザーがアクセスできる1つ以上のアプリケーションを持つ企業間(B2B)の実装をサポートします。 一般的なB2Bの統合には以下のような特徴があります。- 従業員が別の企業にライセンスされた製品を使用する
- 独自のフェデレーションと認証エクスペリエンスの軽量ブランディングを必要とする複数の組織。
- ユーザーグループごとに異なるレベルのアプリケーションアクセス。
レガシーソリューション
Auth0 Organizationsで貴社のユースケースの要件が満たせない場合には、成功に繋がるソリューションを開発できるように、弊社のプロフェッショナルサービスチームまでお問い合わせください。 レガシーソリューションの例には、以下のようなものがあります:- 各テナントを表すためにAuth0接続を使用すること。
- 各テナントを表すためにAuth0アプリケーションを使用すること。
- 各テナントを表すためにAuth0テナントを使用すること。
- ユーザーのプロファイルにテナントの詳細を保管すること。
Auth0接続を使用する
エンティティ制限が適用されることがあります。詳細については、「エンティティ制限ポリシー」をお読みください。エンタープライズサブスクリプションをご利用の場合、エンティティ制限によって制約されることはありませんが、接続で膨大な数のクライアントが有効になっていると制約を受ける可能性があります。
- テナントごとに異なるパスワードポリシーなど、異なる接続レベルの要件がある場合。
- 異なる接続からのユーザープールがある場合。たとえば、あるテナントがユーザーにユーザー名/パスワード資格情報の提供を要求し、別のテナントがユーザーにエンタープライズ経由でのログインを要求する場合があります。
connectionパラメーターを含めます。
Auth0アプリケーションを使用する
エンティティ制限が適用されることがあります。詳細については、「エンティティ制限ポリシー」をお読みください。エンタープライズサブスクリプションをご利用の場合、エンティティ制限によって制約されることはありませんが、接続で膨大な数のクライアントが有効になっていると制約を受ける可能性があります。
Auth0テナントを使用する
各テナントは、個別のAuth0テナントで表すことができます。 このアプローチにより、テナントによって制限されたAuth0ダッシュボードへのアクセスをユーザーと共有できますが、テナントごとにAuth0を個別に構成する必要があります。 つまり、各Auth0テナントの機能を個別に管理するだけでなく(ブランディング、アクション、攻撃防御など)、アプリケーションは複数のAuth0構成をサポートする必要があるということです。ユーザーのプロファイルにテナントの詳細情報を保管する
テナントの詳細情報をユーザーのプロファイルに保管し、ユーザーのログイン後にアプリケーションでその情報を読み取ることができます。 このアプローチでは、所属するテナントにかかわらず、すべてのユーザーが統一された構成(利用可能な接続など)でログインできるようになります。 これを実装するために、任意の識別子("tenant":"customer-group-12345"など)を使用して、app_metadataオブジェクトにあるユーザーのAuth0プロファイルにテナントの詳細を保管することができます。ユーザーがログインすると、アプリケーションはtenant変数を取得し、返された値に適切なバージョンを表示します。