

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

# Box の OAuth 2.0 認証を設定する
<a name="kb-managed-box-oauth2-setup"></a>

OAuth 2.0 認証 (`OAUTH2`) は、OAuth 2.0 (3LO) フローを使用して、特定のユーザーに代わって Box アプリとして認証します。コネクタは、ユーザーがアクセスできるコンテンツをクロールします。OAuth 2.0 認証はユーザー固有であり、ドキュメントレベルのアクセスコントロール (ACLs) をサポートしていません。クライアント認証情報付与認証が無効な場合にのみ使用します。トークンを生成するには、ユーザーが手動でサインインする必要があります。

**重要**  
ユーザーアクセス許可でクエリ結果をフィルタリングするには、代わりにクライアント認証情報付与認証を使用します。「[Box のクライアント認証情報付与認証を設定する](kb-managed-box-ccg-setup.md)」を参照してください。

## ステップ 1: OAuth アプリを作成する
<a name="kb-managed-box-oauth2-step1"></a>

1. [Box デベロッパーコンソール](https://app.box.com/developers/console)に移動します。

1. **新しいアプリの作成**を選択します。

1. Select **User Authentication (OAuth 2.0)** — アプリタイプ: **User**。

1. アプリに名前を付け、**作成**を選択します。

## ステップ 2: リダイレクト URI を設定する
<a name="kb-managed-box-oauth2-step2"></a>

**OAuth 2.0 リダイレクト URIs **で、リダイレクト URL を入力します。既存のリダイレクトエンドポイントがある場合は、それを使用します。それ以外の場合は、次のテストエンドポイントを使用します。

```
https://httpbin.org/anything
```

**重要**  
`httpbin.org` はテストリダイレクトエンドポイントであり、認証情報の生成に適しています。本番環境では使用しないでください。

## ステップ 3: コンテンツアクションを設定する
<a name="kb-managed-box-oauth2-step3"></a>

次のコンテンツアクションの両方を有効にします。
+ すべてのファイルとフォルダを読み取る
+ すべてのファイルとフォルダを書き込む

OAuth 2.0 の管理アクションまたは as-user ヘッダーを有効にしないでください。他の設定は必要ありません。

## ステップ 4: アクセストークンを生成する
<a name="kb-managed-box-oauth2-step4"></a>

1. クロールするユーザーの Box アカウントにサインインします (ブラウザ内）。

1. 認可 URL に移動し、{{your-client-id}} をアプリクライアント ID に置き換え、{{ランダム文字列}}を任意の値に置き換えます。

   ```
   https://account.box.com/api/oauth2/authorize?response_type=code&client_id={{your-client-id}}&state={{random-string}}
   ```

1. 承認すると、httpbin にリダイレクトされます。URL から`code`値をコピーします。

   ```
   https://httpbin.org/anything?state={{your-state}}&code={{auth-code}}
   ```

1. 次のコマンドを実行して、コードをトークンと交換します。

   ```
   curl -i -X POST "https://api.box.com/oauth2/token" \
     -H "content-type: application/x-www-form-urlencoded" \
     -d "client_id={{your-client-id}}" \
     -d "client_secret={{your-client-secret}}" \
     -d "code={{code-from-above}}" \
     -d "grant_type=authorization_code"
   ```

1. レスポンスには `access_token`と が含まれます`refresh_token`。両方をコピーします。

## ステップ 5: Secrets Manager シークレットを作成する
<a name="kb-managed-box-oauth2-step5"></a>

次のキーと値のペアを使用して、認証情報を AWS Secrets Manager シークレットに保存します。

```
{
    "clientId": "{{your-client-id}}",
    "clientSecret": "{{your-client-secret}}",
    "accessToken": "{{your-access-token}}",
    "refreshToken": "{{your-refresh-token}}"
}
```

以下を使用してシークレットを作成します AWS Command Line Interface。

```
aws secretsmanager create-secret \
  --name {{bedrock-box-oauth2-creds}} \
  --secret-string file://secret.json
```

レスポンスからシークレット ARN を記録します。データソース として使用します`secretArn`。

## 次の手順
<a name="kb-managed-box-oauth2-next"></a>

シークレットを保存したら、 を `authType`に設定してデータソースを作成します`OAUTH2`。「[Box データソースを接続する](kb-managed-ds-box-connect.md)」を参照してください。