> ## 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.

> アプリで認証に使用するBoxユーザーの種類と、管理対象ユーザー、サービスアカウント、App Userの違いを説明します。

# ユーザーの種類

export const SignupCTA = ({children}) => {
  return <div className="flex flex-wrap items-center gap-4 p-5 rounded-lg border border-gray-200 dark:border-gray-700 my-6" style={{
    background: "linear-gradient(135deg, rgba(0, 97, 213, 0.06), rgba(0, 97, 213, 0.02))"
  }}>
      <div className="flex-1 text-sm leading-relaxed text-gray-700 dark:text-gray-300" style={{
    minWidth: "280px"
  }}>
        {children}
      </div>
      <div className="flex flex-col items-center gap-2">
        <a href="https://account.box.com/signup/developer#ty9l3" className="signup-cta-button inline-flex items-center whitespace-nowrap px-5 py-2 text-sm font-semibold text-white no-underline">
          {translate("Get started for free")}
        </a>
        <a href="https://account.box.com/developers/console" className="signup-cta-login text-xs text-gray-500 dark:text-gray-400 no-underline whitespace-nowrap">
          {translate("Already have an account? Log in")}
        </a>
      </div>
    </div>;
};

export const Link = ({href, children, className, ...props}) => {
  const localizedHref = localizeLink(href);
  return <a href={localizedHref} className={className} {...props}>
      {children}
    </a>;
};

アプリケーションがどのタイプのユーザーとして認証されるかによって、アクセスできるコンテンツと実行できる操作が決まります。また、どのユーザータイプになるかは、作成する<Link href="/guides/getting-started/plan-your-integration">アプリケーションの種類</Link>と選択する<Link href="/guides/authentication/select">認証方法</Link>によって異なります。

## ユーザータイプの一覧

| ユーザータイプ                           | ログイン資格情報の有無 | 作成方法                                                                                   | 管理コンソールでの表示                                 | 最適な用途                        |
| --------------------------------- | ----------- | -------------------------------------------------------------------------------------- | ------------------------------------------- | ---------------------------- |
| [**管理対象ユーザー**](#managed-users)    | はい          | 企業によるプロビジョニング                                                                          | はい                                          | ライセンス付きBoxアカウントを使用する従業員      |
| [**外部ユーザー**](#external-users)     | はい          | 既存のBoxアカウント (個人用アカウントまたは別のEnterpriseアカウント) を使用                                         | あり。\[**外部ユーザー**] タブ (\[**外部ユーザー**] フィルタ)    | 企業間または無料アカウントでのコラボレーション      |
| [**管理対象外ユーザー**](#unmanaged-users) | はい          | 管理対象ドメインのメールアドレスを使用したセルフプロビジョニング                                                       | あり。\[**外部ユーザー**] タブ (\[**管理対象外ユーザー**] フィルタ) | 企業の管理外のドメインユーザー              |
| [**サービスアカウント**](#service-account) | なし (APIのみ)  | サーバー認証アプリが<Link href="/guides/authorization/platform-app-approval">承認</Link>されたときに自動生成 | コンテンツマネージャのみ                                | サーバー間の統合、アプリによって所有されるコンテンツ   |
| [**App User**](#app-user)         | なし (APIのみ)  | <Link href="/reference/post-users">API</Link>を使用してサービスアカウントによって作成                      | あり (\[ユーザーとグループ] + コンテンツマネージャ)              | Boxアカウントを使用せずユーザーごとにコンテンツを分離 |

## 管理者ロールと共同管理者ロール

管理者と共同管理者は、独立したユーザータイプではなく、管理対象ユーザーに割り当てることができるロールです。いずれかのロールを付与する前に、ユーザーはまず管理対象ユーザーである必要があります。

管理者または共同管理者のロールを付与された管理対象ユーザーは、<Link href="https://docs.box.com/en/box-admin-tools/admin-console/about-the-admin-console">管理コンソール</Link>を使用してBox Enterpriseを管理できます。また、セキュリティポリシーの管理やレポートの実行、統合の構成など、他のユーザーには許可されていない操作を実行することができます。

<Note>
  アプリケーションによっては、操作に管理者レベルの権限が必要です。例えば、<Link href="/reference/get-events">Enterprise Event</Link>を監視するセキュリティアプリケーションを操作するには、レポート権限を持つ管理者または共同管理者である必要があります。
</Note>

## 管理対象ユーザー

管理対象ユーザーは企業に所属し、標準のBoxライセンスを購入しています。企業ごとに固有のEnterprise IDがあり、そのIDをすべての管理対象ユーザーが共有します。管理対象ユーザーは通常、同じメールドメインを共有します。

## 外部ユーザー

外部ユーザーは、組織外から参加するコラボレータです。つまり、管理コンソールで作成されていないアカウントを所有し、管理対象ドメインに関連付けられていないメールアドレスを持つBoxユーザーです。外部ユーザーは、別の企業に所属している場合もあれば、企業と関係のない無料の個人用Boxアカウントを持っている場合もあります。

管理者は、外部ユーザーのアカウント設定や所有するコンテンツを管理できません。しかし、外部ユーザーとのコラボレーションを管理することはでき、たとえば、企業のコンテンツへのアクセスを許可または取り消すことができます。外部ユーザーは管理コンソールの \[**ユーザーとグループ**] > \[**外部ユーザー**] に表示されます。外部ユーザーがまだ別のBox Enterpriseに所属していなければ、管理者はその外部ユーザーを<Link href="https://docs.box.com/en/box-admin-tools/managing-users/users-and-groups/invite-users">招待</Link>して、自分の組織の管理対象ユーザーにすることができます。

## 管理対象外ユーザー

管理対象外ユーザーは、以下に該当するBoxユーザーです。

* 管理者または共同管理者からは独立して取得され、お客様のBox組織に所属していない、ライセンスのない個人用Boxアカウントを持っている
* お客様のドメインまたは確認済みドメイン (お客様の組織が所有または管理するドメイン) のメールアドレスを使用している

管理対象外ユーザーは、管理コンソールの \[**ユーザーとグループ**] > \[**外部ユーザー**] で、\[**管理対象外ユーザー**] フィルタを選択することで表示できます。管理者は管理対象外ユーザーを特定して<Link href="https://docs.box.com/en/box-admin-tools/managing-users/users-and-groups/converting-unmanaged-users-to-managed-users">管理対象ユーザーに変換</Link>し、組織の管理下に置くことができます。

## サービスアカウント

サービスアカウントは、Box Enterprise内のアプリケーションを表すプログラム上のユーザーです。ログイン資格情報を使用せずにサーバー間の認証を行うため、バックエンドの統合や自動化ワークフローに最適です。

```mermaid theme={null}
flowchart TB
  subgraph BoxEnterprise["Box Enterprise"]
    request["Developer sends app<br/>authorization request"]
    admin(["Box Primary Admin*"])
    managed(["Managed User"])
    console["Developer Console"]
    app1[("Application 1")]
    app2[("Application 2")]
    app3[("Application 3")]
    appn[("Application n")]
    auth{"Authorized<br/>by Admin"}
    notAuth{"Not Authorized"}
    service(["Service Account**"])
    appUser1(["App User 1"])
    appUserN(["App User n"])

    request -->|API Key| admin
    managed --> console
    console --> app1
    console --> app2
    console --> app3
    console --> appn
    app1 --> auth
    app2 --> notAuth
    auth --> service
    service --> appUser1
    service --> appUserN
  end
```

<sub>\* 1企業につき1つ。Enterprise設定を管理してアプリケーションを承認できます。</sub>

<br />

<sub>\*\* 承認されたアプリケーション1つにつき1つ。コンテンツとプロセスの所有、App Userの作成と管理ができます。</sub>

### 使用するタイミング

* **コンテンツの移行**: オンプレミスとクラウドのシステム間でコンテンツを移行します。
* **イベントの監視**: コンプライアンスの順守やワークフローのトリガーを目的としてEnterprise Eventを監視します。
* **コンテンツの配布**: 認証ステータスにかかわらず、ファイルをアップロードしてユーザーと共有します。
* **システムの統合**: オンプレミスのシステムとデバイスをBoxに接続します。
* **コンテンツのアーカイブ**: アクセス頻度の低いコンテンツを格納します。

### 作成

サービスアカウントは、管理者が管理コンソールでJWTまたはCCGアプリケーションを<Link href="/guides/authorization/platform-app-approval">承認</Link>したときに**自動的に生成されます**。お客様が手動で作成することはありません。

Boxはサービスアカウントに次の形式のメールアドレスを割り当てます。`AutomationUser_AppServiceID_RandomString@boxdevedition.com`

例: `AutomationUser_123456_6jCo6Pqwo@boxdevedition.com`。アンダースコアの間の数字は**サービスID**で、アプリの<Link href="https://app.box.com/developers/console">開発者コンソール</Link>のURL (例: `https://example.app.box.com/developers/console/app/123456`) にあるIDと一致します。

サービスアカウントのメールアドレスは、<Link href="https://app.box.com/developers/console">開発者コンソール</Link>内のアプリの \[**アプリの詳細**] タブで確認できます。

<Warning>
  アプリが承認される前にサービスアカウントトークンを使用してAPIコールを試行すると、`unauthorized_client`エラーが表示されます (`"This app is not authorized by the enterprise"`)。
</Warning>

### コンテンツの表示

**プライマリ管理者**のみがサービスアカウントのコンテンツを表示できます。

1. 管理コンソールで<Link href="https://docs.box.com/en/box-admin-tools/managing-content/content-manager/about-content-manager">コンテンツマネージャ</Link>を開きます。
2. アプリケーション名を検索します。
3. 検索結果を右クリックし、\[**ユーザーのアカウントにログインする**] を選択します。

サービスアカウントは \[**ユーザーとグループ**] タブには表示**されません**。このアカウントはコンテンツマネージャにのみ表示されます。

<Note>
  共同管理者はサービスアカウントとしてログインできません。これは共同管理者がお互いに管理できないことを反映しています。
</Note>

### 権限とコラボレーション

サービスアカウントが呼び出せるAPIエンドポイントは、<Link href="https://app.box.com/developers/console">開発者コンソール</Link>で構成された<Link href="/guides/api-calls/permissions-and-errors/scopes">スコープ</Link>によって決まります。適切なスコープが構成されていると、サービスアカウントは管理者レベルのアクションを実行できます。

<Warning>
  サービスアカウントには高度な権限を付与できるため、JWTおよびCCGアプリケーションは企業で使用する前に、明示的な<Link href="/guides/authorization/platform-app-approval">管理者の承認</Link>が必要です。
</Warning>

サービスアカウントには独自のフォルダツリーがあり、最初は空になっています。既存のコンテンツにアクセスできるようにするには、以下の方法を使用します。

* **メールを使用**: 他のコラボレータを招待する場合と同様に、割り当てられたメールアドレスを使用してサービスアカウントを招待します。
* **APIを使用**: サービスアカウントのユーザーID (<Link href="/reference/get-users-me">現在のユーザーを取得エンドポイント</Link>によって返されます) を指定して、<Link href="/reference/post-collaborations">コラボレーションを作成エンドポイント</Link>を使用します。

<Tip>
  サービスアカウントにメールエイリアスを割り当てて、コラボレーション招待を覚えやすくすることができます。
</Tip>

デフォルトでは、管理コンソールの \[**新規ユーザーの初期設定**] に基づいて、サービスアカウントには10 GBのストレージが与えられます。これを変更するには、`space_amount`パラメータを指定して<Link href="/reference/put-users-id">ユーザーを更新エンドポイント</Link>を呼び出します。

## App User

App Userは、サービスアカウントがAPI経由で作成するプログラム上のユーザーです。サービスアカウントと同様、App Userはログイン資格情報を持たず、アプリケーションを通じたBoxとのやり取りのみ可能です。それぞれのApp Userに独自のフォルダツリーが用意されるため、ユーザーごとにコンテンツを分離できます。

App Userは自身が作成したアプリケーションと関連付けられており、別のアプリケーションに転送することはできません。

### 使用するタイミング

* **顧客ポータル**: Boxアカウントがなくても機密ドキュメントにアクセスしたり機密ドキュメントを保存したりできる場所を顧客や患者に提供します
* **ベンダーポータル**: 価格表、契約書、マーケティング資料などのコンテンツをベンダーのレベル別に整理してパートナーに配布します
* **ブランド設定されたアプリケーション**: ユーザーごとの権限、監査、レポートを備えた顧客向け機能を開発します。<Link href="/reference/get-events">レポート</Link>は、金融サービスや医療など規制の厳しい業界で特に価値を発揮します
* **IDのマッピング**: 独自のIDプロバイダ (Auth0やOktaなど) から個々のBoxユーザーアカウントにユーザーをマッピングします

### 作成

**前提条件**: JWTまたはCCGアプリケーションが管理コンソールで<Link href="/guides/authorization/platform-app-approval">承認</Link>される必要があります。これにより、サービスアカウントが用意されます。

App Userを作成するには、サービスアカウントのアクセストークンを使用して、<Link href="/reference/post-users">ユーザーを作成エンドポイント</Link>を呼び出します。`is_platform_access_only`本文パラメータを`true`に設定してください。そうしないと、代わりに管理対象ユーザーが作成されます。

Boxは各App Userに次の形式のメールアドレスを割り当てます。`AppUser_AppServiceID_RandomString@boxdevedition.com`

一連の手順とコードサンプルについては、<Link href="/guides/users/create-app-user">App Userの作成</Link>を参照してください。

### コンテンツの表示

App Userは管理コンソールの次の2か所に表示されます。

1. \[**ユーザーとグループ**] タブ: 表示オプションボタンを使用し、**\[ロール] > \[App User]** でフィルタをかけます。

<Frame center>
  <img src="https://mintcdn.com/box/bS8sW0UvLUtrq8jI/guides/getting-started/images/app_users_filter.png?fit=max&auto=format&n=bS8sW0UvLUtrq8jI&q=85&s=08c76d9bc6ab414141fb1a2dfca500f9" alt="App Userのフィルタ" width="362" height="600" data-path="guides/getting-started/images/app_users_filter.png" />
</Frame>

2. **コンテンツマネージャ**: 名前またはメールでApp Userを検索して、フォルダツリーを閲覧します。

### 権限とコラボレーション

App Userは、コラボレータとして明示的に追加しない限り、サービスアカウントのフォルダツリーや他のコンテンツを見ることが**できません**。

App Userにはそれぞれ独自のフォルダツリーがあり、最初は空になっています。App Userがコンテンツにアクセスできるようにするには、以下の方法を使用します。

* **メールを使用**: 割り当てられたメールアドレスを使用して、App Userを招待します。
* **APIを使用**: ターゲットコンテンツへのアクセス権限をすでに持っているユーザーのアクセストークンとApp UserのIDを指定して、<Link href="/reference/post-collaborations">コラボレーションを作成エンドポイント</Link>を使用します。

## サービスアカウントとApp Userの使い分け

この決定ガイドを参考にして、アプリケーションに適した手法を選択してください。

| 質問                                                 | 回答がはいの場合                        |
| -------------------------------------------------- | ------------------------------- |
| アプリを個々のユーザーに関連付けることなく、そのアプリでコンテンツを所有、管理する必要がありますか? | **サービスアカウント**をコンテンツ所有者として使用します。 |
| ユーザーごとにコンテンツを分離する (各ユーザーが自分のファイルを持つ) 必要がありますか?     | ユーザーごとに**App User**を作成します。      |
| ユーザーが一時的なユーザーでもコンテンツは保持する必要がある状況ですか?               | **サービスアカウント**を使用してコンテンツを所有します。  |
| 独自のIDプロバイダからBoxにユーザーをマッピングしようと考えていますか?             | IDごとに**App User**を作成します。        |
| それはエンドユーザーによる操作が行われないシステム間の統合ですか?                  | **サービスアカウント**を直接使用します。          |

## As-User

OAuth 2.0、JWT、またはCCG認証を使用する場合は、`as-user`コールを実行して、別のユーザーの代理になることができます。アプリケーションが当初、自分自身またはサービスアカウントとして認証されたものだとしても、後続のコールで別のユーザーに成り代わることができます。

これは、フォルダの再編成や従業員のプロビジョニングなどの管理タスクを自動化する場合に便利です。`as-user`コールを有効にするには、<Link href="https://app.box.com/developers/console">開発者コンソール</Link>で適切なスコープをオンにします。

<Frame center>
  <img src="https://mintcdn.com/box/bS8sW0UvLUtrq8jI/guides/getting-started/images/enable-perform-actions-as-users.png?fit=max&auto=format&n=bS8sW0UvLUtrq8jI&q=85&s=573458803e60bd59e035905bd6b92ef8" alt="As User" width="1340" height="334" data-path="guides/getting-started/images/enable-perform-actions-as-users.png" />
</Frame>

## 次の手順

* <Link href="/guides/users/create-app-user">App Userの作成</Link>
* <Link href="/guides/authentication/select">認証方法の選択</Link>
* <Link href="/guides/getting-started/first-application">最初のアプリケーションの作成</Link>
