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

# Bring Your Own Key (BYOK)

> 独自のAWS Bedrockアカウントを通じてLLM推論をルーティングし、無制限の使用量、コスト管理、データレジデンシーを実現する

Bring Your Own Key (BYOK) を利用すると、Scaleプランおよびそれ以上のプランのワークスペースが、プラットフォームクレジットの代わりに自社のAWS Bedrockクレデンシャルを通じてLLM推論を実行できます。使用料はAWSアカウントに請求され、どのリージョンで推論を処理するかを選択できます。

***

## BYOKを使う理由

* **無制限の使用量** — プラットフォームのクレジット制限ではなく、自社のBedrockのクォータが適用されます。
* **コスト管理** — すでに予算とコスト配分タグを持っているAWSの請求書に料金が計上されます。
* **データレジデンシー** — USのみ、EUのみ、またはAPACのみの[推論プロファイル](#推論プロファイル)を通じて推論をルーティングできます。
* **コンプライアンス** — 推論の場所と監査者を自分でコントロールできます。
* **モデル管理不要** — CloudThinkerがタスクに応じてClaude Sonnet 4.5またはOpus 4.5を自動的に選択します。

***

## 前提条件

* **Scale、Scale +、またはEnterpriseプラン** — [料金・プラン](/ja/guide/billing/pricing)を参照
* Amazon Bedrockアクセスが有効な **AWSアカウント**
* Bedrockの呼び出し権限を持つ **IAMクレデンシャル**（アクセスキーIDとシークレットアクセスキー）
* AWSアカウントでClaude Sonnet 4.5とClaude Opus 4.5の両方への **モデルアクセス**

CloudThinkerはAWS IAMクレデンシャル（アクセスキーID、シークレットアクセスキー、一時クレデンシャル用のオプションのセッショントークン）でAWSに認証します。直接BedrockのAPIキーは計画されていますが、まだサポートされていません。

<Info>
  長期クレデンシャル（AKIAプレフィックス）はセッショントークンの自動更新をサポートします。一時クレデンシャル（ASIAプレフィックス）は更新できません——有効期限が切れたら再設定してください。
</Info>

***

## Claudeモデルアクセスのリクエスト

Claudeモデルは、Bedrockコンソールで一度だけユースケースフォームを送信する必要があります。詳細は[AWS Bedrockモデルアクセスドキュメント](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)を参照してください。

<Steps>
  <Step title="BedrockコンソールでModel accessを開く">
    [AWSコンソール](https://console.aws.amazon.com/)にログインし、[Amazon Bedrock](https://console.aws.amazon.com/bedrock/)を開いて、左のナビゲーションで **Model access** をクリックします。
  </Step>

  <Step title="モデルアクセスを変更する">
    **Modify model access** をクリックして、以下の両方を有効にします:

    * **Claude Sonnet 4.5** (`anthropic.claude-sonnet-4-5-20250929-v1:0`)
    * **Claude Opus 4.5** (`anthropic.claude-opus-4-5-20251101-v1:0`)
  </Step>

  <Step title="ユースケースの詳細を送信する">
    ユースケースの説明、予想される使用パターン、および該当する場合はコンプライアンス要件をフォームに入力します。

    **成功の状態:** Model accessページに両方のモデルがアクセス許可済みとして表示されます——通常は送信直後に反映されます。
  </Step>
</Steps>

<Info>
  **Sonnet 4.5とOpus 4.5の両方**へのアクセスをリクエストしてください。CloudThinkerはタスクの要件に応じてそれらを切り替えます。
</Info>

***

## IAMクレデンシャルの作成

IAMユーザーは両方のモデルを呼び出す権限が必要です。AWS CLIまたは[AWSコンソール](https://console.aws.amazon.com/iam/)から作成します。

<Steps>
  <Step title="IAMユーザーを作成する">
    ```bash theme={null}
    aws iam create-user --user-name bedrock-byok-user
    ```
  </Step>

  <Step title="ポリシーファイルを作成する">
    ```bash theme={null}
    cat > bedrock-policy.json << 'EOF'
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
          ],
          "Resource": [
            "arn:aws:bedrock:*::foundation-model/anthropic.claude-sonnet-4-5-20250929-v1:0",
            "arn:aws:bedrock:*::foundation-model/anthropic.claude-opus-4-5-20251101-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/global.anthropic.claude-sonnet-4-5-20250929-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/global.anthropic.claude-opus-4-5-20251101-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/us.anthropic.claude-sonnet-4-5-20250929-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/us.anthropic.claude-opus-4-5-20251101-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/eu.anthropic.claude-sonnet-4-5-20250929-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/eu.anthropic.claude-opus-4-5-20251101-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/apac.anthropic.claude-sonnet-4-5-20250929-v1:0",
            "arn:aws:bedrock:*:*:inference-profile/apac.anthropic.claude-opus-4-5-20251101-v1:0"
          ]
        },
        {
          "Effect": "Allow",
          "Action": ["sts:GetSessionToken"],
          "Resource": "*"
        }
      ]
    }
    EOF
    ```
  </Step>

  <Step title="ポリシーをアタッチする">
    ```bash theme={null}
    aws iam put-user-policy \
      --user-name bedrock-byok-user \
      --policy-name BedrockInvokePolicy \
      --policy-document file://bedrock-policy.json
    ```
  </Step>

  <Step title="アクセスキーを作成する">
    ```bash theme={null}
    aws iam create-access-key --user-name bedrock-byok-user
    ```

    出力から `AccessKeyId` と `SecretAccessKey` を保存します——これらをCloudThinkerに入力します。
  </Step>

  <Step title="クレデンシャルを確認する">
    ```bash theme={null}
    aws configure --profile bedrock-byok-user
    aws sts get-caller-identity --profile bedrock-byok-user
    ```

    **成功の状態:** `get-caller-identity` が `bedrock-byok-user` のARNを返します。
  </Step>
</Steps>

<Info>
  これらのコマンドには、IAM管理権限（`iam:CreateUser`、`iam:PutUserPolicy`、`iam:CreateAccessKey`）を持つAWSプロファイルが必要です。
</Info>

***

## CloudThinkerでBedrockを接続する

<Steps>
  <Step title="BYOK設定を開く">
    **Settings → BYOK Settings** に移動し、プロバイダーとして **AWS Bedrock** を選択します。
  </Step>

  <Step title="クレデンシャルを入力する">
    **Access Key ID**（AKIAまたはASIAプレフィックス）、**Secret Access Key**、および一時クレデンシャルの場合のみ **Session Token** を入力します。
  </Step>

  <Step title="推論プロファイルを選択する">
    [データレジデンシーのニーズ](#推論プロファイル)に応じて **Global**、**US**、**EU**、または **APAC** を選択します。
  </Step>

  <Step title="テストして保存する">
    **Test Connection** をクリックしてクレデンシャルが有効で両方のモデルに到達可能であることを確認し、**Save** をクリックします。

    **成功の状態:** Sonnet 4.5とOpus 4.5の両方のテストが通過します。
  </Step>
</Steps>

クレデンシャルは保存時に暗号化され、APIレスポンスやログには公開されません。

***

## 推論プロファイル

Bedrockの推論プロファイルは、リクエストを処理できるAWSリージョンを制御します。リージョンのカバレッジについては、[AWS推論プロファイルドキュメント](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)を参照してください。

| プロファイル     | ルーティング        | 一般的な用途          |
| ---------- | ------------- | --------------- |
| **Global** | 任意の商用AWSリージョン | 最大スループット        |
| **US**     | USリージョンのみ     | USデータレジデンシー     |
| **EU**     | EUリージョンのみ     | GDPRコンプライアンス    |
| **APAC**   | APACリージョンのみ   | リージョナルデータレジデンシー |

***

## 仕組み

* **モデル選択** — CloudThinkerはタスクごとに適切なClaudeモデルを選択します。手動でモデルを選択する必要はありません。[サポートされているファウンデーションモデルのリスト](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)を参照してください。
* **ワークスペースの継承** — ワークスペースオーナーがBYOKを一度設定すると、すべてのメンバーがそれを継承します。全メンバーのLLM使用量はオーナーのAWSアカウントを通じてルーティングされ、オーナーがクレデンシャルを一元管理します。

***

## フォールバック動作

CloudThinkerは失敗したBYOK呼び出しをプラットフォーム管理のBedrockクレデンシャルで再試行できますが、これは**ワークスペースごとのオプトイン**であり、**EnterpriseおよびBYOCプランではデフォルトで無効**です。フォールバックがオフの場合、呼び出しが失敗するとエラーが表示されます——リクエストがクレデンシャルの境界から出ることはありません。

### フォールバックが発動するタイミング（有効な場合）

BYOK呼び出しがプラットフォームパスにフォールバックするのは、**3つすべて**が真の場合のみです:

1. エラーが再試行可能である——クレデンシャルの有効期限切れ、スロットリング、一時的な5xx——コンテンツやポリシー違反ではない。
2. 操作が**フォールバック対象**としてマークされている（ほとんどの読み取り操作が対象。本番環境での自律的な書き込みアクションは対象外）。
3. ワークスペースのフォールバックポリシーが **Allow** である。

フォールバックは、元の呼び出しと**同じリージョン**のプラットフォーム管理のBedrockアカウントにリクエストを再送します——別の管轄エリアには送りません。すべてのフォールバックは、**Admin Settings → Audit log** に監査イベント（元のエラーコード、サービングエンドポイント、ユーザー、ワークスペース、モデル、トークン数）を記録し、[webhooks](/ja/guide/webhooks/overview)経由でSIEMにエクスポートできます。

### フォールバックポリシーの設定

<Steps>
  <Step title="フォールバックポリシーを開く">
    **Admin Settings → BYOK → Fallback policy** に移動します。
  </Step>

  <Step title="ポリシーを選択する">
    | ポリシー                                       | BYOKの失敗時の動作                       | 一般的な用途         |
    | ------------------------------------------ | --------------------------------- | -------------- |
    | **Allow**                                  | 同リージョンのプラットフォームクレデンシャルで再試行        | 開発・サンドボックステナント |
    | **Warn**                                   | 同リージョンで再試行するが、次のセッションでユーザーの再確認が必要 | 混在したワークロード     |
    | **Strict** *（EnterpriseおよびBYOCのデフォルトかつ推奨）* | エラーを表示。別のクレデンシャルでは再試行しない          | 規制対象の環境        |
  </Step>

  <Step title="組織レベルでロックする（オプション）">
    **Enforce across all workspaces** をトグルして、ワークスペース管理者がポリシーをローカルで変更できないようにします。このトグルを切り替えられるのは、`byok:admin` 権限を持つ組織オーナーのみです。
  </Step>
</Steps>

<Warning>
  **Strictモードのトレードオフ:** BYOKクレデンシャルが誤設定または失効した場合、修正するまでエージェントの操作が失敗します。クレデンシャルのローテーションとクォータ管理を計画し、BYOKヘルスに関する[通知](/ja/guide/notifications)を設定してください。
</Warning>

### 推論呼び出しが送信するもの

ポリシーに関わらず、各BYOK呼び出しはエージェントのシステムプロンプトとツール定義、関連する会話履歴、および取得されたコンテキスト（トポロジー、メモリ、ランブック）を送信します。生のクラウドクレデンシャル、他のワークスペースのデータ、または **Admin Settings → Data Protection** でトークン化が設定されている場合は顧客のPIIを送信することはありません。

***

## トラブルシューティング

<AccordionGroup>
  <Accordion title="モデルアクセス拒否エラー">
    * Bedrockコンソールでユースケースフォームを送信したことを確認する
    * **Model access** ページでSonnet 4.5とOpus 4.5の両方が有効になっていることを確認する
    * アクセスが反映されるまで送信後数分待つ
  </Accordion>

  <Accordion title="IAM権限エラー">
    * ポリシーに `bedrock:InvokeModel` と `bedrock:InvokeModelWithResponseStream` が含まれていることを確認する
    * モデルと推論プロファイルのARNが使用するモデルとプロファイルと一致していることを確認する
    * AWSコンソールで直接権限をテストする
  </Accordion>

  <Accordion title="クレデンシャル検証の失敗">
    * アクセスキーIDとシークレットアクセスキーが正しく、ローテーションまたは失効されていないことを確認する
    * 一時クレデンシャルの場合、セッショントークンが有効期限切れでないことを確認する
    * `aws sts get-caller-identity` でテストする
  </Accordion>

  <Accordion title="接続テストの失敗">
    * Sonnet 4.5とOpus 4.5の両方がアクセス可能でIAMポリシーでカバーされていることを確認する
    * AWSアカウントでBedrockが有効になっていることを確認する
    * リージョンの選択がモデルアクセスと一致していることを確認する
  </Accordion>

  <Accordion title="ワークスペースでBYOKが機能しない">
    * ワークスペースオーナーがBYOKを設定し、設定で有効になっていることを確認する
    * オーナーのプランがScale、Scale +、またはEnterpriseであることを確認する
    * オーナーのクレデンシャルがまだ有効であることを確認する
  </Accordion>

  <Accordion title="セッショントークンの有効期限切れ">
    * 長期クレデンシャル（AKIA）は自動的に更新される
    * 一時クレデンシャル（ASIA）は更新できない——新しいクレデンシャルで再設定する
    * 設定内の `session_token_expires_at` タイムスタンプを確認する
  </Accordion>
</AccordionGroup>

***

## 関連

<CardGroup cols={2}>
  <Card title="料金・プラン" icon="credit-card" href="/ja/guide/billing/pricing">
    BYOKが含まれるプランと各ティアの内容
  </Card>

  <Card title="使用量" icon="chart-line" href="/ja/guide/billing/usage">
    ワークスペース全体のクレジットとLLM使用量を追跡する
  </Card>

  <Card title="通知" icon="bell" href="/ja/guide/notifications">
    BYOKクレデンシャルのヘルスが業務をブロックする前にアラートを設定する
  </Card>

  <Card title="Webhooks" icon="webhook" href="/ja/guide/webhooks/overview">
    監査イベントをSIEMにエクスポートする
  </Card>
</CardGroup>
