

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ユーザープールマルチテナンシーのベストプラクティス
<a name="bp_user-pool-based-multi-tenancy"></a>

アプリケーション内のテナントごとにユーザープールを作成します。このアプローチは各テナントを最大限に分離します。テナントごとに異なる設定を実装することができます。ユーザープールによるテナントの分離は、ユーザー対テナントのマッピングに柔軟性を与えます。同じユーザーに複数のプロファイルを作成することができます。ただし、ユーザーはそれぞれ、アクセスできるテナントごとに個別にサインアップする必要があります。

このアプローチを使用すると、テナントごとにホストされた UI を個別にセットアップし、アプリケーションのテナント固有のインスタンスにユーザーをリダイレクトできます。このアプローチを使用して、[Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html) などのバックエンドサービスと統合することもできます。

次の図は、専用ユーザープールを持つ各テナントを示しています。

![\[各テナントに独自のユーザープールがある 1 対 1 マルチテナンシーモデルの図。\]](http://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/images/multi-tenancy-user-pool.png)


**ユーザープールマルチテナンシーを実装するタイミング**  
分離とカスタマイズが主な懸念事項であるとき。複数のユーザープールを持つ単一のアーキテクチャでは、ユーザーとテナントの関係が複雑になる場合があります。教育関連テナントが 2 つある例を考えてみましょう。同じユーザーでも、あるアプリケーションではアクセスが制限された学生であるが、別のアプリケーションでは上位レベルのアクセス許可を持つ教師である場合があります。あるアプリケーションでは MFA を要求しているが別のアプリケーションでは要求しない場合や、パスワードポリシーが異なる場合もあります。ローカルユーザーは、マネージドログインを使用してユーザープール内の複数のアプリケーションクライアントにサインインできるため、複数のテナントがマネージドログインを使用してサインインできるようにする場合にも、ユーザープールのマルチテナンシーが最適です。

**労力レベル**  
このアプローチを使用するには、高い開発労力と運用労力がかかります。アプリケーション群全体で一貫性のある予測可能な結果を確保するには、Amazon Cognito リソースをオートメーションツールと統合するとともに、認証アーキテクチャが複雑化する中でベースラインを維持する必要があります。複数のアプリケーション用に 1 つの開始ポイントを作成する場合、ユーザーを正しいリソースにルーティングする最初の決定をキャプチャするユーザーインターフェイス (UI) 要素を構築する必要があります。