11Claude Code は、軽量なコマンド単位のサンドボックスから完全に独立した仮想マシンまで、複数の種類の分離環境で実行できます。このページでは、それらを分離内容と必要な要件で比較し、脅威モデルに合ったものを選択するのに役立ち、組織全体でその選択を強制する方法を示します。11Claude Code は、軽量なコマンド単位のサンドボックスから完全に独立した仮想マシンまで、複数の種類の分離環境で実行できます。このページでは、それらを分離内容と必要な要件で比較し、脅威モデルに合ったものを選択するのに役立ち、組織全体でその選択を強制する方法を示します。
12 12
13<Info>13<Info>
14 より広いセキュリティモデルについては、[セキュリティ](/ja/security)を参照してください。Agent SDK デプロイメントについては、[セキュアなデプロイメント](/ja/agent-sdk/secure-deployment)を参照してください。14 より広いセキュリティモデルについては、[セキュリティ](/docs/ja/security)を参照してください。Agent SDK デプロイメントについては、[セキュアなデプロイメント](/docs/ja/agent-sdk/secure-deployment)を参照してください。
15</Info>15</Info>
16 16
17<h2 id="compare-sandboxing-approaches">17<h2 id="compare-sandboxing-approaches">
29| [仮想マシン](#virtual-machine) | 完全なオペレーティングシステム | いいえ | 高い |29| [仮想マシン](#virtual-machine) | 完全なオペレーティングシステム | いいえ | 高い |
30| [Web 上の Claude Code](#claude-code-on-the-web) | 完全なオペレーティングシステム(Anthropic がホスト) | いいえ | なし。Claude サブスクリプションと GitHub が必要 |30| [Web 上の Claude Code](#claude-code-on-the-web) | 完全なオペレーティングシステム(Anthropic がホスト) | いいえ | なし。Claude サブスクリプションと GitHub が必要 |
31 31
32[サンドボックス化された Bash ツール](/ja/sandboxing)は Claude Code に組み込まれており、Bash コマンドのみを制限します。組み込みファイルツール、MCP サーバー、hooks はホスト上で直接実行されます。表内の他のすべてのアプローチは、Claude Code プロセス全体を分離境界内に配置するため、ファイルツール、MCP サーバー、hooks も制限されます。32[サンドボックス化された Bash ツール](/docs/ja/sandboxing)は Claude Code に組み込まれており、Bash コマンドのみを制限します。組み込みファイルツール、MCP サーバー、hooks はホスト上で直接実行されます。表内の他のすべてのアプローチは、Claude Code プロセス全体を分離境界内に配置するため、ファイルツール、MCP サーバー、hooks も制限されます。
33 33
34<Warning>34<Warning>
35 サンドボックス分離はセキュリティ侵害の影響を軽減しますが、リスクを完全に排除することはできません。ネットワーク出力を許可するアプローチは、エージェントが読み取ることができるデータをリークする可能性があり、プロジェクトディレクトリを書き込み可能にマウントするアプローチはそのコードを変更する可能性があります。ハード制御としてサンドボックスに依存する前に、[セキュリティの制限事項](/ja/sandboxing#security-limitations)を確認してください。35 サンドボックス分離はセキュリティ侵害の影響を軽減しますが、リスクを完全に排除することはできません。ネットワーク出力を許可するアプローチは、エージェントが読み取ることができるデータをリークする可能性があり、プロジェクトディレクトリを書き込み可能にマウントするアプローチはそのコードを変更する可能性があります。ハード制御としてサンドボックスに依存する前に、[セキュリティの制限事項](/docs/ja/sandboxing#security-limitations)を確認してください。
36 36
37 分離はモデルに送信される内容を変更しません。プロンプトと Claude が読み取るファイルは、サンドボックスの有無にかかわらず、Anthropic API または設定されたプロバイダーに送信されます。Claude Code が送信する内容と削減方法については、[データ使用](/ja/data-usage)を参照してください。37 分離はモデルに送信される内容を変更しません。プロンプトと Claude が読み取るファイルは、サンドボックスの有無にかかわらず、Anthropic API または設定されたプロバイダーに送信されます。Claude Code が送信する内容と削減方法については、[データ使用](/docs/ja/data-usage)を参照してください。
38</Warning>38</Warning>
39 39
40<h2 id="choose-an-approach">40<h2 id="choose-an-approach">
45 45
46| 実現したいこと | 開始するもの |46| 実現したいこと | 開始するもの |
47| :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |47| :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |
48| 自分のマシンでの日常的な作業中に権限プロンプトを減らす | [サンドボックス化された Bash ツール](/ja/sandboxing)(`/sandbox` で有効化) |48| 自分のマシンでの日常的な作業中に権限プロンプトを減らす | [サンドボックス化された Bash ツール](/docs/ja/sandboxing)(`/sandbox` で有効化) |
49| Claude に `--dangerously-skip-permissions` または自動モードで無人で作業させる | 事前設定された [dev コンテナ](/ja/devcontainer)、任意のコンテナまたは VM、または [サンドボックスランタイム](#sandbox-runtime) |49| Claude に `--dangerously-skip-permissions` または自動モードで無人で作業させる | 事前設定された [dev コンテナ](/docs/ja/devcontainer)、任意のコンテナまたは VM、または [サンドボックスランタイム](#sandbox-runtime) |
50| Bash だけでなく MCP サーバーと hooks も分離し、Docker なしで実行する | サンドボックスランタイム |50| Bash だけでなく MCP サーバーと hooks も分離し、Docker なしで実行する | サンドボックスランタイム |
51| 信頼できないリポジトリで作業する | 専用の仮想マシン、または Claude サブスクリプションと接続された GitHub アカウントがある場合は [Web 上の Claude Code](/ja/claude-code-on-the-web) |51| 信頼できないリポジトリで作業する | 専用の仮想マシン、または Claude サブスクリプションと接続された GitHub アカウントがある場合は [Web 上の Claude Code](/docs/ja/claude-code-on-the-web) |
52| チーム全体でサンドボックス化された環境を標準化する | 事前設定された [dev コンテナ](/ja/devcontainer)(リポジトリにコピー) |52| チーム全体でサンドボックス化された環境を標準化する | 事前設定された [dev コンテナ](/docs/ja/devcontainer)(リポジトリにコピー) |
53| ローカルセットアップなしのデバイスから Claude Code を使用する | [Web 上の Claude Code](/ja/claude-code-on-the-web)(Claude サブスクリプションと接続された GitHub アカウントが必要) |53| ローカルセットアップなしのデバイスから Claude Code を使用する | [Web 上の Claude Code](/docs/ja/claude-code-on-the-web)(Claude サブスクリプションと接続された GitHub アカウントが必要) |
54| 組織内のすべての開発者に対して分離を要求する | [組織全体で分離を強制](#enforce-isolation-across-an-organization) |54| 組織内のすべての開発者に対して分離を要求する | [組織全体で分離を強制](#enforce-isolation-across-an-organization) |
55| ネイティブ Windows ホストで作業する | コンテナまたは VM、または WSL2 内で Bash サンドボックスを実行 |55| ネイティブ Windows ホストで作業する | コンテナまたは VM、または WSL2 内で Bash サンドボックスを実行 |
56 56
58 分離が権限モードとどのように関連するか58 分離が権限モードとどのように関連するか
59</h3>59</h3>
60 60
61[権限モード](/ja/permission-modes)は、ツール呼び出しが実行されるかどうか、および最初にプロンプトが表示されるかどうかを決定します。分離は、コマンドが実行されたら何にアクセスできるかを制限します。この 2 つは連携して機能します。権限モードがアクションを確認なしで実行させる場合、分離境界はそれらのアクションが到達できる内容を制限します。61[権限モード](/docs/ja/permission-modes)は、ツール呼び出しが実行されるかどうか、および最初にプロンプトが表示されるかどうかを決定します。分離は、コマンドが実行されたら何にアクセスできるかを制限します。この 2 つは連携して機能します。権限モードがアクションを確認なしで実行させる場合、分離境界はそれらのアクションが到達できる内容を制限します。
62 62
63`--dangerously-skip-permissions` を渡すと、Claude は最初にあなたに尋ねることなく行動します。明示的な [ask ルール](/ja/permissions#manage-permissions)、コネクタツール [組織が `ask` に設定したもの](/ja/mcp#organization-controls-on-connector-tools)、MCP ツール [requiresUserInteraction](/ja/mcp#require-approval-for-a-specific-tool) でマークされたもの、および `/` またはホームディレクトリをターゲットにした削除に対してのみプロンプトが表示されます。間違いをキャッチするプロンプトがないため、選択した分離境界があなたのシステムを保護するものです。常にコンテナ、VM、または [サンドボックスランタイム](#sandbox-runtime)内で `--dangerously-skip-permissions` セッションを実行してください。ファイルツール、MCP サーバー、hooks も境界内にあります。63`--dangerously-skip-permissions` を渡すと、Claude は最初にあなたに尋ねることなく行動します。[自動モードが自動承認するアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)は依然として適用されます。
64 64
65[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)はプロンプトを、アクションをレビューして要求を超えてエスカレートするもの、認識されていないインフラストラクチャをターゲットにするもの、または Claude が読み取った敵対的なコンテンツによって駆動されているように見えるものをブロックする分類器に置き換えます。分類器はアクション単位の制御であり、分離境界ではないため、分離境界は無人実行の防御層を追加し、`--dangerously-skip-permissions` の場合のように必須ではありません。65間違いをキャッチするプロンプトがないため、選択した分離境界があなたのシステムを保護するものです。常にコンテナ、VM、または [サンドボックスランタイム](#sandbox-runtime)内で `--dangerously-skip-permissions` セッションを実行してください。ファイルツール、MCP サーバー、hooks も境界内にあります。Linux と macOS では、Claude Code はこのフラグを使用して root として実行されている場合は起動を拒否するため、コンテナ、VM、またはサンドボックスランタイムを非 root ユーザーとして実行してください。
66 66
67[サンドボックス化された Bash ツール](#sandboxed-bash-tool)単独では Bash のみを制限するため、どちらのモードでも完全に無人で実行するには不十分です。アプローチを重ねることができます。サンドボックス化された Bash ツールをコンテナまたは VM 内で実行すると、外側の環境境界の上に OS レベルのコマンド制限が得られます。Bash サンドボックス自体が権限ルールおよび権限モードとどのように相互作用するかについては、[サンドボックス化が権限および権限モードとどのように関連するか](/ja/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)を参照してください。67[自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)はプロンプトを、アクションをレビューする分類器に置き換えます。分類器はアクション単位の制御であり、分離境界ではないため、分離境界は無人実行の防御層を追加し、`--dangerously-skip-permissions` の場合のように必須ではありません。
68
69[サンドボックス化された Bash ツール](#sandboxed-bash-tool)単独では Bash のみを制限するため、どちらのモードでも完全に無人で実行するには不十分です。アプローチを重ねることができます。サンドボックス化された Bash ツールをコンテナまたは VM 内で実行すると、外側の環境境界の上に OS レベルのコマンド制限が得られます。Bash サンドボックス自体が権限ルールおよび権限モードとどのように相互作用するかについては、[サンドボックス化が権限および権限モードとどのように関連するか](/docs/ja/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)を参照してください。
68 70
69<h2 id="sandboxed-bash-tool">71<h2 id="sandboxed-bash-tool">
70 サンドボックス化された Bash ツール72 サンドボックス化された Bash ツール
74 このオプションはネイティブ Windows をサポートしていません。Windows ホストでは、WSL2 または以下のコンテナまたは VM アプローチのいずれかを使用してください。76 このオプションはネイティブ Windows をサポートしていません。Windows ホストでは、WSL2 または以下のコンテナまたは VM アプローチのいずれかを使用してください。
75</Note>77</Note>
76 78
77サンドボックス化された Bash ツールは Claude Code に組み込まれています。オペレーティングシステムプリミティブを使用して、Claude が実行するすべての Bash コマンドのファイルシステムとネットワークアクセスを制限します。Seatbelt(macOS の組み込みサンドボックス)と Linux および WSL2 の [bubblewrap](https://github.com/containers/bubblewrap) を使用します。デフォルトでは、作業ディレクトリへの書き込みを許可し、コマンドが新しいネットワークドメインを必要とする最初の時点でプロンプトを表示します。79サンドボックス化された Bash ツールは Claude Code に組み込まれています。オペレーティングシステムプリミティブを使用して、Claude が実行するすべての Bash コマンドのファイルシステムとネットワークアクセスを制限します。
78 80
79`/sandbox` コマンドで有効にします。[サンドボックス化](/ja/sandboxing)ガイドでは、承認モード、デフォルト境界、および拡大または縮小する方法について説明しています。81`/sandbox` コマンドを実行してサンドボックスパネルを開き、モードを選択してください。[サンドボックス化](/docs/ja/sandboxing)ガイドでは、承認モード、デフォルト境界、および拡大または縮小する方法について説明しています。
80 82
81コマンド単位のサンドボックスはセッションで実行されるすべてをカバーしていません。83コマンド単位のサンドボックスはセッションで実行されるすべてをカバーしていません。
82 84
83* Read、Edit、WebFetch などの他の [組み込みツール](/ja/tools-reference)は Claude Code プロセス内で実行され、任意のコードを生成しません。[権限ルール](/ja/permissions)がパスまたはドメインでそれらをゲートします。85* Read、Edit、WebFetch などの他の [組み込みツール](/docs/ja/tools-reference)は Claude Code プロセス内で実行され、任意のコードを生成しません。[権限ルール](/docs/ja/permissions)がパスまたはドメインでそれらをゲートします。
84* [MCP](/ja/mcp)サーバーと hooks は、ホスト上で制約なく実行される別のプロセスです。86* [MCP](/docs/ja/mcp)サーバーと hooks は、ホスト上で制約なく実行される別のプロセスです。
85 87
86組み込みツール、MCP サーバー、hooks をすべて 1 つの OS 境界の背後に配置するには、Claude Code プロセス全体を [サンドボックスランタイム](#sandbox-runtime)、[dev コンテナ](#dev-containers)、または [カスタムコンテナ](#custom-container)内で実行してください。88組み込みツール、MCP サーバー、hooks をすべて 1 つの OS 境界の背後に配置するには、Claude Code プロセス全体を [サンドボックスランタイム](#sandbox-runtime)、[dev コンテナ](#dev-containers)、または [カスタムコンテナ](#custom-container)内で実行してください。
87 89
91 93
92[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) パッケージは、組み込みの Bash サンドボックスが使用するのと同じ Seatbelt または bubblewrap 分離でプロセス全体をラップします。Claude Code をそれを通して実行すると、Bash だけでなく、セッション内のすべてのツール、hook、MCP サーバーが制限されます。ランタイムはベータ研究プレビューであり、パッケージが進化するにつれて設定形式が変わる可能性があります。94[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) パッケージは、組み込みの Bash サンドボックスが使用するのと同じ Seatbelt または bubblewrap 分離でプロセス全体をラップします。Claude Code をそれを通して実行すると、Bash だけでなく、セッション内のすべてのツール、hook、MCP サーバーが制限されます。ランタイムはベータ研究プレビューであり、パッケージが進化するにつれて設定形式が変わる可能性があります。
93 95
94ランタイムはデフォルトですべての書き込みとネットワークアクセスを拒否するため、Claude Code を起動する前に設定してください。`~/.srt-settings.json` または `--settings` で渡すファイルで、少なくともプロジェクトディレクトリと Claude Code の設定パス `~/.claude` および `~/.claude.json` への書き込みアクセスを許可します。セッションが必要とするネットワークドメイン(`api.anthropic.com` または設定されたプロバイダーのエンドポイントを含む)を許可します。完全な設定スキーマについては、パッケージ [README](https://github.com/anthropic-experimental/sandbox-runtime) を参照してください。96このセクションでは、設定する内容とランタイムが独自に実施する内容について説明します。Agent SDK アプリケーションでランタイムをデプロイする場合は、[セキュアデプロイメントガイド](/docs/ja/agent-sdk/secure-deployment#sandbox-runtime)を参照してください。
97
98<h3 id="set-up-and-launch-the-runtime">
99 ランタイムのセットアップと起動
100</h3>
101
102Linux と WSL2 では、ランタイムは組み込みサンドボックスと同じ `bubblewrap` および `socat` パッケージに加えて、Claude Code がバンドルしているが、スタンドアロンランタイムは PATH から解決する `ripgrep` に依存しています。[Linux と WSL2 のセットアップ](/docs/ja/sandboxing#set-up-linux-and-wsl2)で説明されているように `bubblewrap` と `socat` をインストールし、ディストリビューションのパッケージマネージャーから `ripgrep` をインストールしてください。macOS では追加のパッケージは必要ありません。ランタイムはそこで組み込みの Seatbelt サンドボックスを使用します。
103
104デフォルトでは、ランタイムはネットワークアクセスを拒否し、書き込みを小さな組み込みランタイムパスセットに限定するため、Claude Code を起動する前に設定してください。設定を `~/.srt-settings.json` に、または `--settings` で渡すファイルに配置します。パッケージ [README](https://github.com/anthropic-experimental/sandbox-runtime) は完全な設定スキーマを文書化しています。
105
106少なくとも以下への書き込みアクセスを許可してください。
107
108* プロジェクトディレクトリ。
109* Claude Code の設定パス `~/.claude` および `~/.claude.json`。
110* `/tmp`。Claude Code はランタイムファイルをここに書き込みます。
111
112セッションが必要とするネットワークドメインを許可してください。
113
114* `api.anthropic.com`、またはプロバイダーのエンドポイント。サードパーティプロバイダーでは、`api.anthropic.com` も保持してください。WebFetch ドメインセーフティチェックは、`skipWebFetchPreflight: true` を設定しない限り、デフォルトでそれを呼び出します。
115* `claude.ai` および `platform.claude.com`。[OAuth サインインとトークンリフレッシュ](/docs/ja/network-config#network-access-requirements)に必要です。API キーで認証されたランは、これら 2 つを削除できます。
116
117Linux と WSL2 では、ランタイムは既に存在するパスにのみ書き込み許可を適用します。新しい環境では、最初の起動前に Claude Code の設定パスを作成してください。
118
119```bash theme={null}
120mkdir -p ~/.claude && echo '{}' > ~/.claude.json
121```
95 122
96設定ファイルが配置されたら、`npx` で Claude Code を起動し、ラップするコマンドとして `claude` を渡します。123設定ファイルが配置されたら、`npx` で Claude Code を起動し、ラップするコマンドとして `claude` を渡します。
97 124
101 128
102Claude Code はサンドボックス内で起動し、設定したファイルシステムとネットワーク境界があります。同じコマンドは、スタンドアロン MCP サーバーまたは他のヘルパープロセスのサンドボックス化に機能します。129Claude Code はサンドボックス内で起動し、設定したファイルシステムとネットワーク境界があります。同じコマンドは、スタンドアロン MCP サーバーまたは他のヘルパープロセスのサンドボックス化に機能します。
103 130
131<h3 id="what-the-runtime-blocks-on-its-own">
132 ランタイムが独自にブロックするもの
133</h3>
134
135ランタイムは、設定なしで最高リスクの書き込みをブロックします。
136
137* `denyWrite` は `allowWrite` より優先されます。
138* プロジェクトルートでは、ランタイムは `.git/hooks` を拒否し、`filesystem.allowGitConfig: true` を設定しない限り `.git/config` を拒否し、`.mcp.json`、`.claude/commands`、`.claude/agents`、およびシェルスタートアップファイルを拒否します。
139* macOS では、これらの拒否は書き込みが発生したときにチェックされるため、ネストされたファイルとセッション中に作成されたリポジトリもカバーします。
140* Linux と WSL2 では、ランタイムは起動時に拒否リストを構築します。プロジェクトルートを確実にカバーし、その時点で存在するネストされたコピーの最善の努力による浅いスキャンを行い、`git init`、`git clone`、またはスキャフォルディングなど、セッションが後で作成するものはカバーしません。README の `mandatoryDenySearchDepth` セクションはスキャンの正確なセマンティクスを説明しています。
141* 有効な `~/.srt-settings.json` がない場合、ランタイムは起動しますが、ネットワークアクセスをブロックし、書き込みを `/tmp/claude`、`~/.npm/_logs`、`~/.claude/debug` などの組み込みランタイムパスに限定します。クリーンスタートを設定が読み込まれた証拠として受け取らないでください。
142* `--settings` を渡すと、ファイルの読み込みに失敗した場合、ランタイムは起動を拒否します。
143
144書き込み許可には、Claude Code が設定を読み込む他のパスも含まれるため、`denyWrite` でそれらを拒否してください。それらに書き込みできるサンドボックス化されたセッションは、次に Claude Code を起動するときに、サンドボックス化されていない hook、権限ルール、または MCP サーバーを永続化できます。
145
146<h3 id="after-unattended-runs">
147 無人実行後
148</h3>
149
150保持した書き込み可能なパスを確認してください。Linux と WSL2 では、セッションが作成したものも確認してください。
151
104<h2 id="dev-containers">152<h2 id="dev-containers">
105 Dev コンテナ153 Dev コンテナ
106</h2>154</h2>
107 155
108Dev コンテナは Claude Code を Docker コンテナ内で実行します。VS Code または互換性のあるエディターが管理し、プロジェクトがマウントされます。リポジトリの `.devcontainer/` ディレクトリで独自に定義できます。156Dev コンテナは Claude Code を Docker コンテナ内で実行します。VS Code または互換性のあるエディターが管理し、プロジェクトがマウントされます。リポジトリの `.devcontainer/` ディレクトリで独自に定義できます。
109 157
110claude-code リポジトリは、デフォルト拒否 iptables ファイアウォールを備えた [example dev container](/ja/devcontainer) を出発点として公開しています。リポジトリにコピーし、ファイアウォール許可リスト、ベースイメージ、ピン留めされた Claude Code バージョンを環境に合わせて調整します。ファイアウォールが未承認の出力をブロックするため、このような設定は無人作業のために `--dangerously-skip-permissions` で Claude Code を実行することをサポートしています。158claude-code リポジトリは、デフォルト拒否 iptables ファイアウォールを備えた [example dev container](/docs/ja/devcontainer) を出発点として公開しています。リポジトリにコピーし、ファイアウォール許可リスト、ベースイメージ、ピン留めされた Claude Code バージョンを環境に合わせて調整します。ファイアウォールが未承認の出力をブロックするため、このような設定は無人作業のために `--dangerously-skip-permissions` で Claude Code を実行することをサポートしています。
111 159
112<h2 id="custom-container">160<h2 id="custom-container">
113 カスタムコンテナ161 カスタムコンテナ
117 165
118複数のマネージドサンドボックスおよびリモート実行サービスがコンテナをホストできます。操作するコンテナと同じチェックリストが適用されます。書き込み可能にマウントされているもの、その内部で到達可能な認証情報とトークン、ネットワーク出力ポリシーが許可するものを確認します。166複数のマネージドサンドボックスおよびリモート実行サービスがコンテナをホストできます。操作するコンテナと同じチェックリストが適用されます。書き込み可能にマウントされているもの、その内部で到達可能な認証情報とトークン、ネットワーク出力ポリシーが許可するものを確認します。
119 167
120コマンド単位の制限のためにコンテナ内に組み込みの Bash サンドボックスを重ねることができます。特権のないコンテナには、[サンドボックス化のトラブルシューティング](/ja/sandboxing#troubleshooting)で説明されている nested-sandbox 設定が必要です。168コマンド単位の制限のためにコンテナ内に組み込みの Bash サンドボックスを重ねることができます。特権のないコンテナには、[サンドボックス化のトラブルシューティング](/docs/ja/sandboxing#troubleshooting)で説明されている nested-sandbox 設定が必要です。
121 169
122<h2 id="virtual-machine">170<h2 id="virtual-machine">
123 仮想マシン171 仮想マシン
124</h2>172</h2>
125 173
126専用の仮想マシンは、独自のカーネルと、クラウドまたは microVM デプロイメントでは独自の仮想化ハードウェアを備えた最強の分離を提供します。オプションには、クラウドインスタンス、ローカルハイパーバイザー、Firecracker などの microVM が含まれます。174専用の仮想マシンは、独自のカーネルと、クラウドまたは microVM デプロイメントでは独自の仮想化ハードウェアを備えた最強の分離を提供します。オプションには、クラウドインスタンス、ローカルハイパーバイザー、Firecracker などの microVM が含まれます。信頼できないコードを評価する場合、セキュリティポリシーがエージェントとホスト間のカーネルレベルの分離を要求する場合、またはホストレベルのアプローチがコンプライアンス要件を満たさない場合に、このアプローチを使用します。
127 175
128信頼できないコードを評価する場合、セキュリティポリシーがエージェントとホスト間のカーネルレベルの分離を要求する場合、またはホストレベルのアプローチがコンプライアンス要件を満たさない場合に、このアプローチを使用します。Docker Desktop の [sandboxes feature](https://docs.docker.com/ai/sandboxes/) は、独自の Docker デーモンとワークスペース同期を備えた microVM を提供し、Docker Desktop が既にインストールされているホストで Claude Code を実行できます。176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) は、独自の Docker デーモンとワークスペース同期を備えた microVM を提供し、Docker Sandboxes がインストールされているホストで Claude Code を実行できます。これは Docker の無料のスタンドアロン製品であり、Docker Desktop は必要ありません。
129 177
130<h2 id="claude-code-on-the-web">178<h2 id="claude-code-on-the-web">
131 Web 上の Claude Code179 Web 上の Claude Code
132</h2>180</h2>
133 181
134[Web 上の Claude Code](/ja/claude-code-on-the-web)は、各セッションを分離された Anthropic 管理の仮想マシンで実行します。ネットワークプロキシはデフォルト許可リストを強制し、別のプロキシはサンドボックス内のリポジトリアクセスのためにスコープ付き認証情報を発行しながら、GitHub トークンをサンドボックスの外に保持します。182[Web 上の Claude Code](/docs/ja/claude-code-on-the-web)は、各セッションを分離された Anthropic 管理の仮想マシンで実行します。ネットワークプロキシはデフォルト許可リストを強制し、別のプロキシはサンドボックス内のリポジトリアクセスのためにスコープ付き認証情報を発行しながら、GitHub トークンをサンドボックスの外に保持します。組織が[セルフホスト環境](/docs/ja/self-hosted-environments)にルーティングするセッションは、代わりにユーザーがプロビジョニングするインフラストラクチャ上で実行され、分離、エグレス制御、および git 認証情報はデプロイメントの責任です。
135 183
136完全な VM 分離が必要だが、インフラストラクチャを自分でプロビジョニングしたくない場合、またはローカル開発環境がないデバイスからタスクを委任する場合に、このアプローチを使用します。Claude サブスクリプションと接続された GitHub アカウントが必要であり、セッションは GitHub からリポジトリをクローンします。プラン可用性と GitHub 認証オプションについては、[Web 上の Claude Code](/ja/claude-code-on-the-web)を参照してください。184インフラストラクチャを自分でプロビジョニングせずに完全な VM 分離が必要な場合、またはローカル開発環境がないデバイスからタスクを委任する場合に、このアプローチを使用します。Claude サブスクリプションが必要です。Web インターフェースからセッションを起動する場合、サンドボックスがリポジトリをクローンできるように、接続された GitHub アカウントも必要です。`--cloud`を使用して CLI から起動する場合、GitHub が接続されていなければ、Claude Code は代わりに[ローカルリポジトリをバンドルしてアップロード](/docs/ja/claude-code-on-the-web#send-local-repositories-without-github)できます。プラン可用性と GitHub 認証オプションについては、[Web 上の Claude Code](/docs/ja/claude-code-on-the-web)を参照してください。
137 185
138<h2 id="enforce-isolation-across-an-organization">186<h2 id="enforce-isolation-across-an-organization">
139 組織全体で分離を強制する187 組織全体で分離を強制する
140</h2>188</h2>
141 189
142個々の開発者は上記のいずれかのアプローチにオプトインできます。組織が強制できるもの、およびどのツールで強制できるかは、アプローチによって異なります。190個々の開発者は、このページのいずれかのサンドボックス化アプローチにオプトインできます。組織が強制できるもの、およびどのツールで強制できるかは、アプローチによって異なります。
143 191
144* **組み込み Bash サンドボックス**:Claude Code が自体で強制する唯一のアプローチ。[管理設定](/ja/settings#settings-files)を通じて `sandbox` 設定キーを配信します。MDM で管理されるファイルとして、または Claude.ai の [サーバー管理設定](/ja/server-managed-settings)を通じて。デプロイするキーと開発者がポリシーを拡大するのを防ぐ方法については、[管理設定でサンドボックス化を強制](/ja/sandboxing#enforce-sandboxing-with-managed-settings)を参照してください。192* **組み込み Bash サンドボックス**:Claude Code が自体で強制する唯一のアプローチです。[管理設定](/docs/ja/managed-settings#delivery-mechanisms)を通じて `sandbox` 設定キーを配信します。MDM で管理されるファイルとして、または Claude.ai の[サーバー管理設定](/docs/ja/server-managed-settings)を通じて。デプロイするキーと開発者がポリシーを拡大するのを防ぐ方法については、[管理設定でサンドボックス化を強制](/docs/ja/sandboxing#enforce-sandboxing-with-managed-settings)を参照してください。
145* **Dev コンテナ**:[example dev container](/ja/devcontainer)をリポジトリにコミットして、チーム全体で環境を標準化します。Claude Code がコンテナを要求しないため、これは強制境界ではなく慣例です。開発者が Claude Code をその外で実行できないようにする場合は、組織のデバイス管理またはソフトウェア許可リストツールでそれを強制します。193* **Dev コンテナ**:[example dev container](/docs/ja/devcontainer)をリポジトリにコミットして、チーム全体で環境を標準化します。Claude Code がコンテナを要求しないため、これは強制境界ではなく慣例です。開発者が Claude Code をその外で実行できないようにする場合は、組織のデバイス管理またはソフトウェア許可リストツールでそれを強制します。
146* **カスタムコンテナと VM**:承認されたイメージを通じて Claude Code を配布し、組織のデバイス管理またはソフトウェア許可リストツールを使用して、その外でのインストールを防止します。194* **カスタムコンテナと VM**:承認されたイメージを通じて Claude Code を配布し、組織のデバイス管理またはソフトウェア許可リストツールを使用して、その外でのインストールを防止します。
147 195
148<h2 id="see-also">196<h2 id="see-also">
149 関連項目197 関連項目
150</h2>198</h2>
151 199
152これらのページでは、上記のアプローチの設定とポリシーの詳細について説明しています。200これらのページでは、このページで説明しているサンドボックス化アプローチの設定とポリシーの詳細について説明しています。
153 201
154* [サンドボックス化](/ja/sandboxing):組み込みのサンドボックス化された Bash ツールを設定します202* [サンドボックス化](/docs/ja/sandboxing):組み込みのサンドボックス化された Bash ツールを設定します
155* [Dev コンテナ](/ja/devcontainer):事前設定された Docker 開発コンテナ203* [Dev コンテナ](/docs/ja/devcontainer):事前設定された Docker 開発コンテナ
156* [セキュリティ](/ja/security):完全な Claude Code セキュリティモデル204* [セキュリティ](/docs/ja/security):完全な Claude Code セキュリティモデル
157* [セキュアなデプロイメント](/ja/agent-sdk/secure-deployment):Agent SDK アプリケーションの分離ガイダンス205* [セキュアなデプロイメント](/docs/ja/agent-sdk/secure-deployment):Agent SDK アプリケーションの分離ガイダンス
158* [設定](/ja/settings#sandbox-settings):管理設定配信を含むすべてのサンドボックス設定キー206* [設定](/docs/ja/settings-reference#sandbox-settings):管理設定配信を含むすべてのサンドボックス設定キー