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

# スコープ

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>;
};

開発者コンソールでアプリケーションが作成されると、ユーザーはアプリケーションのスコープを設定する必要があります。ユーザーにBox内のファイルやフォルダへのアクセス権限が付与されるしくみと同様、アプリケーションにも、BoxユーザーやBoxを使用する企業に代わって特定のアクションを実行するための独自の権限が付与されます。アプリケーションに対する権限セットの名前を「スコープ」と言います。つまり、アプリケーションのスコープにより、アプリケーションから呼び出すことのできる<Link href="/reference">エンドポイント</Link>が決まります。また、このスコープは、アプリケーションの<Link href="/guides/authentication/tokens">アクセストークン</Link>が提供するアクセス権限に反映されます。

## ユーザー権限とスコープ

アクションを実行するための適切なスコープがアプリケーションに設定されている場合でも、アクセストークンと関連付けられた、呼び出しを実行するユーザーにはそのアクションを実行するための権限が必要であり、逆の場合も同様であることを理解することが重要です。

たとえば、ファイルを読み取るようにアプリケーションが設定されている場合、アクセスしようとするファイルの読み取り権限が認証済みユーザーにも必要です。

スコープ、トークンの権限、ユーザー権限がどのように連携しているかの詳細については、Boxの<Link href="/guides/security">セキュリティガイド</Link>を参照してください。

<SignupCTA>
  無料のDeveloperアカウントを作成すると、開発者コンソールにアクセスし、アプリケーションスコープを構成してAPIコールの実行を開始できます。
</SignupCTA>

## スコープとOAuth 2承認

アプリケーションを承認するためにクライアント側のOAuth 2フローを介してユーザーを送信する際は、承認URLに一連のスコープを追加してユーザーのアクセストークンをさらに制限できます。

たとえば、アプリケーションで`root_readonly`および`root_readwrite`スコープが有効になっている場合は、ユーザーのリダイレクト時にこのスコープを指定することで、ユーザーのアクセストークンを`root_readonly`に制限できます。

```js theme={null}
GET https://account.box.com/api/oauth2/authorize?scope=root_readonly&client_id=....
```

スコープパラメータが省略されている場合、アプリケーションでは、そのアプリケーションの作成時に設定されたスコープが使用されます。

## セルフサービススコープ

これらのスコープは、アプリケーションの設定時に開発者コンソールから使用できます。\[**構成**] タブの \[**アプリケーションスコープ**] セクションに移動して、以下のスコープから1つ以上を選択します。

### すべてのファイルとフォルダの読み取り

|                  |                               |
| ---------------- | ----------------------------- |
| **OAuthスコープ**    | `root_readonly`               |
| **アプリケーションスコープ** | Boxに格納されているすべてのファイルとフォルダの読み取り |

アプリケーションで、認証済みユーザーはすべてのファイル/フォルダを読み取ることができるようになります。

これにより、アプリケーションにはファイルとフォルダに対する読み取り権限が付与されますが、APIコールを実行するユーザーには、アクセス対象の項目に対するアクセス権限が必要です。

つまり、<Link href="/guides/authentication/jwt">JWT</Link>アプリケーションが<Link href="/platform/user-types/#managed-users">管理対象ユーザー</Link>の項目にアクセスする場合、サービスアカウントのトークンは、そのコンテンツにアクセスできるユーザーとして直接認証されるように、`as-user`<Link href="/guides/authentication/jwt/as-user">ヘッダー</Link>を使用するか、<Link href="/guides/authentication/jwt/user-access-tokens">ユーザーアクセストークン</Link>を作成する必要があります。

### すべてのファイルとフォルダの読み取りと書き込み

|                  |                                    |
| ---------------- | ---------------------------------- |
| **OAuthスコープ**    | `root_readwrite`                   |
| **アプリケーションスコープ** | Boxに格納されているすべてのファイルとフォルダの読み取りと書き込み |

アプリケーションには、認証済みユーザーの書き込みアクセス権限が付与されます。これにより、アプリケーションでは、ファイルまたは新しいファイルバージョンのアップロード、コンテンツのダウンロード、新しいフォルダの作成、コラボレーションの更新または削除、コメントまたはタスクの作成などを実行できるようになります。

これにより、アプリケーションには項目に対する読み取り/書き込みアクセス権限が付与されますが、APIコールを行うユーザーには、コンテンツに対するアクセス権限が必要です。

### ユーザーを管理する

開発者コンソールにある「ユーザーを管理する」スコープは、2つのOAuthスコープにマップされます。

|                  |                        |
| ---------------- | ---------------------- |
| **OAuthスコープ**    | `manage_managed_users` |
| **アプリケーションスコープ** | ユーザーを管理する              |

アプリケーションには、<Link href="/platform/user-types/#managed-users">管理対象ユーザー</Link>を管理するための権限が付与されます。これにより、このアプリでは、ユーザーのプライマリログインの変更、ユーザーのパスワードのリセット、管理対象ユーザーのロールの変更を実行できます。

<Note>
  これを使用すると、アプリケーションでユーザーを管理できますが、クライアント側アプリケーションの場合、使用されるアクセストークンを、適切な権限を持つ管理者または共同管理者に関連付ける必要があります。

  さらに、JWTアプリケーションの場合は、<Link href="/guides/authentication/jwt/jwt-setup/#application-access">アプリケーションアクセス</Link>を \[**アプリアクセス + Enterpriseアクセス**] にしてアプリケーションを設定する必要があります。
</Note>

|                  |                    |
| ---------------- | ------------------ |
| **OAuthスコープ**    | `manage_app_users` |
| **アプリケーションスコープ** | ユーザーを管理する          |

アプリケーションには、<Link href="/platform/user-types/#app-user">App User</Link>を管理するための権限が付与されます。つまり、このスコープは、サーバー側で認証されている (JWT) アプリケーションのみに適用されます。

### グループを管理する

|                  |                 |
| ---------------- | --------------- |
| **OAuthスコープ**    | `manage_groups` |
| **アプリケーションスコープ** | グループを管理する       |

アプリケーションには、企業のグループを管理するための権限が付与されます。これにより、このアプリでは、グループの作成、更新、削除のほか、グループメンバーシップの管理を実行できます。

<Note>
  これを使用すると、アプリケーションでグループを管理できますが、クライアント側アプリケーションの場合、使用されるアクセストークンを、適切な権限を持つ管理者または共同管理者に関連付ける必要があります。

  さらに、JWTアプリケーションの場合は、<Link href="/guides/authentication/jwt/jwt-setup/#application-access">アプリケーションアクセス</Link>を \[**アプリアクセス + Enterpriseアクセス**] にしてアプリケーションを設定する必要があります。
</Note>

### Webhookを管理する

|                  |                  |
| ---------------- | ---------------- |
| **OAuthスコープ**    | `manage_webhook` |
| **アプリケーションスコープ** | Webhookを管理する     |

アプリケーションには、ユーザーのWebhookを作成するための権限が付与されます。Webhookの<Link href="/guides/webhooks/v2/limitations-v2">制限</Link>を確認してください。注目すべきは、1ユーザーにつき1つのアプリケーションあたりWebhookは1,000個までという制限があることです。

### Enterpriseのプロパティを管理する

|                  |                                |
| ---------------- | ------------------------------ |
| **OAuthスコープ**    | `manage_enterprise_properties` |
| **アプリケーションスコープ** | Enterpriseのプロパティを管理する          |

アプリケーションには、Enterprise Event Streamを表示するための権限に加え、Enterpriseの属性とレポートを表示および編集するための権限が付与されます。さらに、アプリケーションでは、デバイスピンの編集と削除も実行できます。

<Note>
  これを使用すると、アプリケーションで企業のプロパティを管理できますが、クライアント側アプリケーションの場合、使用されるアクセストークンを、適切な権限を持つ管理者または共同管理者に関連付ける必要があります。
</Note>

### リテンションポリシーを管理する

|                  |                          |
| ---------------- | ------------------------ |
| **OAuthスコープ**    | `manage_data_retention`  |
| **アプリケーションスコープ** | リテンションポリシーを管理する          |
| **依存先**          | `enterprise_content`スコープ |

アプリケーションには、Box Governanceでリテンションポリシーを表示および作成するための権限が付与されます。そのため、企業では[Box Governance][governance]を購入しておく必要があります。

<Warning>
  このスコープを使用するには、`enterprise_content`スコープも適切に機能する必要があります。これらのスコープをリクエストするには、当社のサポートチャネルでチケットを作成します。
</Warning>

### 署名リクエストを管理する

|                  |                           |
| ---------------- | ------------------------- |
| **OAuthスコープ**    | `sign_requests.readwrite` |
| **アプリケーションスコープ** | 署名リクエストを管理する              |

アプリケーションには、署名リクエストを取得、作成、キャンセル、および再送信するための権限が付与されます。

このスコープでは、アプリケーションに読み取り/書き込みスコープも設定する必要があります。これらのスコープは、有効にしたときに自動的に選択されます。さらに、企業ではSignが有効になっている必要があります。

### Box AI APIを管理する

|                  |                |
| ---------------- | -------------- |
| **OAuthスコープ**    | `ai.readwrite` |
| **アプリケーションスコープ** | AIを管理する        |

アプリケーションには、Box AI APIにリクエストを送信するための権限が付与されます。

### Box Relayを管理する

|                  |                   |
| ---------------- | ----------------- |
| **OAuthスコープ**    | `manage_triggers` |
| **アプリケーションスコープ** | Box Relayを管理する    |

アプリケーションには、ワークフローを取得し、`WORKFLOW_MANUAL_START`タイプのフローを開始するための権限が付与されます。

このスコープでは、アプリケーションに読み取り/書き込みスコープも設定する必要があります。

## リクエストに応じて使用可能

リクエスト時にのみ使用できる追加のスコープがいくつかあります。これを使用するには、Boxの[サポートチーム](/support)にチケットを送信してください。サポートチームは、個別にリクエストを確認し、ユースケースにスコープが必要な場合にのみ承認を行います。

<Note>
  無料トライアルのアカウントでは、スコープを追加でリクエストすることはできません。以下に示すスコープの有効化についてサポートリクエストを申請する前に、有料のEnterpriseアカウントにログインするか、[無料のDeveloperアカウントをEnterpriseアカウントプランにアップグレード][pricing]してください。
</Note>

### リーガルホールドを管理する

|               |                          |
| ------------- | ------------------------ |
| **OAuthスコープ** | `manage_legal_holds`     |
| **依存先**       | `enterprise_content`スコープ |

アプリケーションには、Box Governanceでリテンションポリシーを表示および作成するための権限が付与されます。そのため、会社ではBox Governanceを購入しておく必要があります。

<Note>
  このスコープが適切に機能するには、`enterprise_content`スコープを必要とします。このスコープは、当社のサポートチャネルでチケットを作成してリクエストできます。
</Note>

### メール通知を抑制する

|                  |                    |
| ---------------- | ------------------ |
| **アプリケーションスコープ** | APIコールからメール通知を抑制する |

APIコールが行われるときに、一部の種類の<Link href="/guides/api-calls/suppress-notifications">メール通知</Link>を抑制できます。

### グローバルコンテンツマネージャ (GCM)

|                  |                      |
| ---------------- | -------------------- |
| **OAuthスコープ**    | `enterprise_content` |
| **アプリケーションスコープ** | グローバルコンテンツマネージャ      |

Enterprise設定に基づいて、管理者、[共同管理者][ca]、<Link href="/platform/user-types/#service-account">サービスアカウント</Link>が、所有していない、またはEnterprise内でコラボレータになっていない任意のコンテンツを取得できるようにします。

リテンションポリシーとリーガルホールドを管理するには、このスコープが必要です。

<Danger>
  **副次的影響**

  アプリケーションに対してこのスコープを有効にすると、一部のAPIコールの動作が変更されます。その最も顕著な例として、`as-user`ヘッダーを使用してユーザーとして明示的に認証しないとコンテンツを書き込めなくなることが挙げられます。また、このスコープを有効にすると、別の企業のユーザーが所有するコンテンツにはアクセスできなくなります。

  そのため、やむを得ない場合を除き、このスコープはプロビジョニングされません。
</Danger>

## ダウンスコープ用のスコープ

特にトークンをクライアント側 (ブラウザなどの公開された環境) に公開する必要がある場合など、アクセストークンをより厳格な権限レベルに<Link href="/guides/authentication/tokens/downscope">ダウンスコープ</Link>しなければならないことがあります。その主な例として、ユーザーのブラウザでアクセストークンが必要となる[Box UI Elements][ui-elements]を使用する場合が挙げられます。

既存のアクセストークンをダウンスコープするために<Link href="/reference/post-oauth2-token">`POST /oauth2/token`</Link>エンドポイントで使用できる**追加**のスコープのリストを以下に示します。

| OAuthスコープ              | 影響を受けるUI Element | 説明                                                   |
| ---------------------- | ---------------- | ---------------------------------------------------- |
| `annotation_edit`      | プレビュー            | 注釈の編集と削除をユーザーに許可します。                                 |
| `annotation_view_all`  | プレビュー            | すべてのユーザーによる注釈の表示をユーザーに許可します。                         |
| `annotation_view_self` | プレビュー            | ユーザーに自分の注釈のみの表示を許可します。                               |
| `base_explorer`        | Explorer         | ユーザー/ファイル/トークンの権限に基づいて、フォルダツリー内のコンテンツへのアクセスを許可します。   |
| `base_picker`          | Picker           | ユーザー/ファイル/トークンの権限に基づいて、フォルダツリー内のコンテンツへのアクセスを許可します。   |
| `base_preview`         | プレビュー            | ファイルのプレビューのみをユーザーに許可します。                             |
| `base_sidebar`         | Sidebar          | サイドバーUI Elementに必要なファイルの基本情報の取得をユーザーに許可します。          |
| `base_upload`          | アップローダー          | トークンのダウンスコープ時に、`resource`の下で指定されたフォルダへのアップロードを許可します。 |
| `item_delete`          | Explorer         | ファイルとフォルダの削除を許可します。                                  |
| `item_download`        | Explorer、Preview | ファイルまたはフォルダのコンテンツのダウンロードを許可します。                      |
| `item_preview`         | Explorer         | ファイルのプレビューを有効にします。                                   |
| `item_rename`          | Explorer         | ファイルとフォルダの名前変更を許可します。                                |
| `item_share`           | Explorer、Picker  | トークン交換の`resource`で指定された項目の共有を許可します。                  |
| `item_upload`          | Picker           | Content Pickerでのアップロードを許可します。                        |

また、ダウンスコープ時には標準OAuthスコープもサポートされます。

| OAuthスコープ                      | 説明                    |
| ------------------------------ | --------------------- |
| `ai.readwrite`                 | AI APIを管理する           |
| `manage_managed_users`         | 管理対象ユーザーを管理する         |
| `manage_app_users`             | App Userを管理           |
| `manage_data_retention`        | リテンションポリシーを管理する       |
| `manage_enterprise_properties` | Enterpriseのプロパティを管理する |
| `manage_groups`                | グループを管理する             |
| `manage_webhook`               | Webhookを管理する          |
| `sign_requests.readwrite`      | 署名リクエストを管理する          |

[console]: https://app.box.com/developers/console

[ui-elements]: https://github.com/box/box-ui-elements

[pricing]: https://www.box.com/ja-jp/pricing

{/* i18n-enable localize-links */}

[governance]: https://www.box.com/ja-jp/security/governance-and-compliance

[ca]: https://support.box.com/hc/en-us/articles/1500005433721-Users-Groups-Settings#h_01GSE1DYJKTY9EXEWJEDKFHCNV
