

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

# アプリケーションクライアントマルチテナンシーのベストプラクティス
<a name="application-client-based-multi-tenancy"></a>

アプリケーション内のテナントごとに[アプリケーションクライアント](user-pool-settings-client-apps.md#user-pool-settings-client-apps.title)を 1 つ作成します。アプリケーションクライアントマルチテナンシーを使用すると、テナントにリンクされたアプリケーションクライアントに任意のユーザーを割り当て、単一のユーザープロファイルを保持できます。ユーザープール内の [ID プロバイダー (IdP)](cognito-user-pools-identity-federation.md#cognito-user-pools-identity-federation.title) の一部またはすべてをアプリケーションクライアントに割り当てることができるため、テナントアプリケーションクライアントは、テナント固有の IdP によるサインインを許可できます。ユーザーが複数のテナントに存在する場合、プロファイルを複数の IdP にリンクすることで、ユーザーエクスペリエンスに一貫性を与えられます。

次の図は、共有ユーザープールに専用アプリケーションクライアントを持つ各テナントを示しています。

![\[各テナントが共有ユーザープールに独自のアプリケーションクライアントを持つ 1 対 1 マルチテナンシーモデルの図。\]](http://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/images/multi-tenancy-app-client.png)


**アプリケーションクライアントマルチテナンシーを実装するタイミング**  
Lambda トリガー、パスワードポリシー、E メールや SMS メッセージのコンテンツと配信方法など、ユーザープールレベルで設定のユニバーサル設定を選択できるとき。共有ユーザープールのユーザーは任意のアプリケーションクライアントにサインインできるため、アプリケーションクライアント固有の IdP や Amazon Cognito ユーザープール API によるサインインには、アプリケーションクライアントマルチテナンシーが最適です。アプリケーションクライアントマルチテナンシーは、複数のアプリケーション間での移行をユーザーに許可する場合の 1 対多環境にも適しています。

**労力レベル**  
アプリケーションクライアントマルチテナンシーには、中程度の労力が必要になります。アプリケーションクライアントマルチテナンシーの主な課題は、テナントがホストされた UI Cookie を提示し、アプリケーションを切り替える機能です。アプリケーションクライアントマルチテナンシーアーキテクチャでは、隔離が必要となるホストされた UI サインインは避けてください。アプリケーションクライアントロジックを組み込んだモバイルアプリケーションやウェブアプリケーションへのリンクを配布することも、ユーザーのテナンシーを決定する初期 UI 要素を構築することもできます。複数のユーザープールとアイデンティティプールにおいて設定を標準化して維持する必要がないため、労力は少なくなります。