> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ユーザーモデル

[ユースケース][usecase]がBox Platformに適していることを確認し、関与する[ユーザーのタイプ][usertypes]をしっかりと理解したら、[アプリケーションアーキテクチャ][architect]を開始するためのユーザーモデルを選択できます。

## 従来型

このモデルでは、アプリケーションに内部ユーザーと外部ユーザーが存在します。外部ユーザーは、Boxウェブアプリを使用する内部ユーザーとコンテンツの共有やコラボレーションを行います。

<Frame center shadow border>
  <img src="https://mintcdn.com/box/g9FZUIabDzRUx89N/ja/platform/appendix/images/classic_model.png?fit=max&auto=format&n=g9FZUIabDzRUx89N&q=85&s=759bbe4cf86458e4e75856b36aac8e54" alt="アクセストークンコンポーネント" width="2100" height="1812" data-path="ja/platform/appendix/images/classic_model.png" />
</Frame>

* **内部ユーザーのタイプ**: [管理対象ユーザー][mu]
* **外部ユーザーのタイプ**: [App User][appu]
* **コンテンツの所有者**: アプリケーション[サービスアカウント][sa]または[管理対象ユーザー][mu]
* **例**: 保管庫ポータル、ドキュメント提出、フィールドワーカーアプリケーション

このユーザーモデルのメリット:

1. 内部ユーザーのために追加の機能を開発する必要がない
2. App Userを独自のIDシステム (`Auth0`など) にマッピングできる
3. セキュリティおよびコンプライアンスの要件を満たすために、すべての処理のレポートを作成できる

## App User

このモデルでは、アプリケーションに内部ユーザーと外部ユーザーが存在し、全員が同じカスタムUIを利用しています。

<Frame center shadow border>
  <img src="https://mintcdn.com/box/g9FZUIabDzRUx89N/ja/platform/appendix/images/app_user_model.png?fit=max&auto=format&n=g9FZUIabDzRUx89N&q=85&s=e6d2889826f71050d4520635c31b71db" alt="アクセストークンコンポーネント" width="2100" height="1933" data-path="ja/platform/appendix/images/app_user_model.png" />
</Frame>

* **内部ユーザーのタイプ**: [App User][appu]
* **外部ユーザーのタイプ**: [App User][appu]
* **コンテンツの所有者**: [App User][appu]
* **例**: 保管庫ポータル、ドキュメント提出、フィールドワーカーアプリケーション

このユーザーモデルのメリット:

1. 内部ユーザーと外部ユーザーにカスタムエクスペリエンスを提供できる
2. 管理対象ユーザーが個別のApp Userアカウントを所有できるようにすることで、管理対象ユーザーとアプリケーションコンテンツが切り離される
3. App Userを独自のIDシステム (`Auth0`など) にマッピングできる
4. セキュリティおよびコンプライアンスの要件を満たすためにすべての処理のレポートを作成したり、他のシステムで追跡したりできる

## サービスアカウント

このモデルでは、アプリケーションに内部ユーザーと外部ユーザーが存在しますが、ユーザーオブジェクトがすでに存在します。このモデルは、ユーザーが一時的なユーザーでもコンテンツは保持する必要がある場合にもうまく機能します。

<Frame center shadow border>
  <img src="https://mintcdn.com/box/g9FZUIabDzRUx89N/ja/platform/appendix/images/service_account_model.png?fit=max&auto=format&n=g9FZUIabDzRUx89N&q=85&s=8b4b48fd3d950fccacc19c8bfe7e6eb8" alt="アクセストークンコンポーネント" width="2100" height="1841" data-path="ja/platform/appendix/images/service_account_model.png" />
</Frame>

* **内部ユーザーのタイプ**: [管理対象ユーザー][mu]
* **外部ユーザーのタイプ**: 顧客のアプリケーションによって管理されている
* **コンテンツの所有者**: アプリケーション[サービスアカウント][sa]
* **例**: 資産管理ポータル、保険金請求ワークフロー

このユーザーモデルのメリット:

1. App Userモデルを使用すると既存のアプリケーションによる処理が複雑になる場合に便利
2. エンドユーザーとApp Userが1対1でマッピングされていない場合 (ユーザーがグループとしてマッピングされている場合など) に便利
3. サービスアカウントがすべてのコンテンツを所有するため、権限を管理しやすい
4. サービスアカウントへのアクセス範囲を制限するように、トークン交換を実装できる

## システム対システム

このモデルでは、通常、ユーザーコンテンツを処理する必要がありません。

<Frame center shadow border>
  <img src="https://mintcdn.com/box/17p-RIDeWq55nrEI/ja/platform/appendix/images/system_to_system_model.png?fit=max&auto=format&n=17p-RIDeWq55nrEI&q=85&s=c337a3917cf588490b1e8282bfe56070" alt="アクセストークンコンポーネント" width="2100" height="917" data-path="ja/platform/appendix/images/system_to_system_model.png" />
</Frame>

* **外部ユーザーのタイプ**: 該当なし
* **内部ユーザーのタイプ**: 該当なし
* **コンテンツの所有者**: アプリケーション[サービスアカウント][sa]
* **例**: バックオフィスアプリケーション、統合、ユーザープロビジョニング、フォルダの自動作成

このユーザーモデルのメリット:

1. ユーザーを作成する必要がない場合に便利 (たとえば、個々のユーザーではなく、部門や会社がコンテンツを所有する場合)
2. サービスアカウントの権限を昇格させることができるため、バックエンドサービスに対する権限の割り当てを徹底的に制御できる

[usecase]: /platform/use-cases

[usertypes]: /platform/user-types

[architect]: /platform/appendix/architecture-patterns

[mu]: /platform/user-types/#managed-users

[appu]: /platform/user-types/#app-user

[sa]: /platform/user-types/#service-account
