# ローカル サンドボックス設定の構成

/sandboxの Copilot CLI スラッシュ コマンドを使用して、ローカル サンドボックスでファイルシステム アクセス、ネットワーク接続、およびシステム機能を制限する方法を制御します。

> \[!NOTE]
> GitHub Copilotのローカル サンドボックスはパブリック プレビューにあり、変更される可能性があります。

> \[!IMPORTANT]
> Windowsでのローカル サンドボックスには、Windows Insider ビルドが必要です。

## ローカル サンドボックスの構成について

`/sandbox`スラッシュ コマンドを使用すると、追加のパスの付与、ネットワーク アクセスの調整、サンドボックスのオンとオフを切り替えることができます。

Copilotのクラウドおよびローカル サンドボックスの概念の概要については、「[クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot](/ja/copilot/concepts/about-cloud-and-local-sandboxes)」を参照してください。

## サンドボックス構成を開く

1. Copilot CLI セッションを開始します。
2. `/sandbox`スラッシュ コマンドを入力します。

   これにより、対話型の構成インターフェイスが開き、4 つのタブ ( **General**、 **Auth**、 **Filesystem**、 **Network**) が表示されます。 <kbd>タブ</kbd>を使用してタブを切り替えます。 <kbd>Esc</kbd> キーを押して変更を保存し、構成を閉じます。

## 全般設定の構成

\[ **全般** ] タブでは、最上位レベルのサンドボックスの動作を制御します。 エンタープライズ管理設定で値が適用されると、ダイアログによって設定に `(managed)` ラベルが付けられます。これにより、設定を変更できなくなります。

| Setting                                            | Description                                                                                                                                                                       |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **サンドボックスを有効にする**                                  | サンドボックス内でシェル コマンドを実行します。                                                                                                                                                          |
| `/sandbox enable`と`/sandbox disable`で切り替えることもできます。 |                                                                                                                                                                                   |
| **サンドボックスのバイパスを許可する**                              | 承認を受けて、個々のコマンドをサンドボックスの外部で実行するようにモデルに要求します。 バイパス プロンプトを使用すると、現在のセッションの残りの部分のサンドボックスを無効にすることもできます。 既定ではオンになっています。 詳細については、「 [サンドボックス バイパスの許可](#allowing-sandbox-bypass)」を参照してください。 |
| **サンドボックス MCP サーバー**                               | サンドボックス内で MCP サーバーを実行します。 既定ではオンになっています。                                                                                                                                          |
| **サンドボックス LSP サーバー**                               | サンドボックス内で言語サーバー (LSP サーバー) を実行します。 既定ではオンになっています。                                                                                                                                 |

### サンドボックスのバイパスを許可する

\[ **サンドボックスバイパスを許可する** ] 設定では、サンドボックス内でコマンド Copilot 正常に実行できない場合の動作を制御します。

* **オン (既定値)**: サンドボックス内でコマンドが失敗した場合は、 Copilot がサンドボックスの外部でコマンドを実行することを許可するように求められます。 このプロンプトへの応答は、この特定のコマンドの実行試行に適用されます。 必要に応じて、セッションの残りの部分でサンドボックスを無効にするか (企業で許可されている場合)、代わりに Copilot を操作するための指示を入力することもできます。
* **オフ**: Copilot サンドボックスでコマンドを正常に実行できない場合は、タスクの作業を停止し、エラーを報告します。

エンタープライズ管理設定`sandbox.allowBypass``false`に設定されている場合、個々のコマンドを承認してサンドボックスの外部で実行したり、セッションの残りの部分でサンドボックスを無効にしたりすることはできません。 マネージド設定でサンドボックスが必要であっても、有効なポリシーでバイパスが許可されている場合は、通常の設定や `/sandbox disable`ではなく、アクティブなバイパスアクセス許可プロンプトからのみサンドボックスを無効にすることができます。

## 認証設定の構成

\[ **認証** ] タブでは、サンドボックス内で実行されているコマンドで資格情報を使用できるかどうかを制御します。 他のタブと同様に、エンタープライズ管理の値は `(managed)` として表示され、変更することはできません。

| Setting                                                                                                                                                 | Description                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Git を認証する**                                                                                                                                           | 認証された HTTPS GitHubが資格情報ヘルパーなしでサンドボックス内で動作するように、`git` トークンを挿入します。 GitHub以外のホストの場合は、代わりにサンドボックス `git` コマンドで独自の保存された資格情報を使用できるようになります。 既定ではオンになっています。 |
| **gh を認証する**                                                                                                                                            |                                                                                                                                                    |
| `GH_TOKEN`エクスポートして、GitHub CLI (注: `gh`ではなく`copilot` CLI) がサンドボックス内で動作するように、サンドボックスがブロックする格納された資格情報 (構成ディレクトリまたは OS キーチェーン) に到達しないようにします。 既定ではオンになっています。 |                                                                                                                                                    |
| **キーチェーン アクセスを許可する**                                                                                                                                    | macOS でのみ使用できます。 たとえば、 `git` や `gh` 資格情報ヘルパーによって使用される資格情報にアクセスするために、サンドボックス コマンドで macOS キーチェーンを使用できるようにします。 既定ではオフになっています。                         |

## ファイルシステム設定の構成

**\[ファイルシステム**] タブでは、サンドボックス プロセスがアクセスできるディレクトリとファイルを制御します。

既定では、 Copilot には、現在の作業ディレクトリの下にあるすべてのユーザーに対する読み取り/書き込みアクセス許可が付与されます。 Git リポジトリにいる場合は、 Copilot も付与されます。

* リポジトリの `.git` ディレクトリ内および下にあるすべてのユーザーに対する読み取り/書き込みアクセス許可。
* 現在の作業ディレクトリより上位にある、リポジトリ内のそれ以外のすべてに対する読み取り権限。 作業ディレクトリ自体は読み取り/書き込みのままです。これは、より具体的な許可が 2 つの重複する場所で優先されるためです。

| Setting              | Description                                                                                                                                                                                                                                       |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **作業ディレクトリを含める**     | 既定ではオンになっています。 現在の作業ディレクトリ (および外側のリポジトリの `.git` ディレクトリがある場合) は、読み取り/書き込みパスの一覧に自動的に追加されます。 作業ディレクトリに読み取り/書き込みアクセスを自動的に許可しない場合は、このオプションをオフにしてから、特定のパスへのアクセスを手動で許可します。                                                                               |
| **開発ツールへのアクセスを許可する** | 既定ではオンになっています。 サンドボックス化されたコマンドに、開発者ツールの構成とキャッシュ (パッケージ マネージャー レジストリと格納するトークンを含む) への読み取りアクセスと、共有ビルド キャッシュへの読み取り/書き込みアクセスを許可します。そのため、インストールとビルドはサンドボックス内で動作します。 これは、`/sandbox policy` レポートに**開発ツール アクセス**として表示されます。 これらの場所を明示的に許可する必要がある場合は、オフにします。 |

> \[!IMPORTANT]
> **\[作業ディレクトリを含める**] をオフにすると、Git リポジトリの `.git` ディレクトリ内および下にあるすべてのディレクトリへのアクセスが削除されます。 その結果、このディレクトリへのアクセスを手動で追加しない限り、 `status`、 `add`、 `commit`、 `diff` などの Git 操作は失敗します。

### ファイルシステムパスルールの追加

サンドボックスに追加するパスを指定できます。 これにより、作業ディレクトリの外部にあるディレクトリとファイルに対する読み取り専用または読み取り/書き込みアクセス権を付与できます。 アクセスを拒否して、サンドボックスからディレクトリとファイルを除外することもできます。

1. \[ **ファイルシステム** ] タブで <kbd>、A</kbd> キーを押して新しいパス ルールを追加します。

2. ファイルまたはディレクトリのパスを入力します。 絶対パスを使用します (たとえば、macOS または Linux の`/Users/octocat/projects/app`、Windowsでの`C:\Users\octocat\projects\app`など)。 次に、<kbd>Enter</kbd> キーを押します。

   > \[!NOTE]
   > ディレクトリの追加には、そのサブツリー全体が含まれます。 ワイルドカードはサポートされていません。

3. キーボードの左方向キーと右方向キーを使用して、アクセス許可オプション ( **読み取り/書き込み**、 **読み取り専用**、 **拒否**) 間を移動します。 次に <kbd>、Enter</kbd> キーを押してオプションを選択します。

ファイルシステム パスを追加したら、それらを編集または削除できます。

1. 上方向キーと下方向キーを使用してパスを選択します。
2. <kbd>Enter</kbd> キーを押してパスを編集するか、<kbd>D</kbd> キーを押して削除します。

## ネットワーク設定の構成

\[ **ネットワーク** ] タブでは、セキュリティで保護されたプロセスがネットワーク接続を行うことができるかどうかを制御します。

| Setting                                                                                 | Description                                                                                                                                                  |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **送信接続を許可する**                                                                           | 既定ではオンになっています。 オンにすると、サンドボックス プロセスはインターネット上の外部ホストに到達できます。 サンドボックスをネットワークから完全に分離するには、これをオフにします。                                                               |
| **ローカル ネットワークを許可する**                                                                    | 既定ではオンになっています。 オンにすると、サンドボックス プロセスはローカル ネットワーク上のホスト (たとえば、LAN 上の `localhost` やその他のデバイス) に到達できます。 サンドボックスがローカルまたはプライベート ネットワーク サービスに到達するのをブロックするには、これをオフにします。 |
| **HTTP プロキシ**                                                                           | HTTP プロキシを介してサンドボックスの送信トラフィックをルーティングします。                                                                                                                     |
| [HTTP プロキシを介したトラフィックのルーティングに関するセクションを](#routing-traffic-through-an-http-proxy)参照してください。 |                                                                                                                                                              |

### HTTP プロキシを介したトラフィックのルーティング

\[**ネットワーク**] タブで **\[HTTP プロキシ**] を選択して、プロキシ サーバー経由でサンドボックスの送信トラフィックを送信します。 プロキシ **URL と**、必要に応じて **ユーザー名** と **パスワード**を入力します。 プロキシを削除するには、URL をクリアします。

次の点に注意してください。

* プロキシは、\[ **送信接続を許可する]** がオンになっている間にのみ適用されます。 送信接続をオフにした場合、プロキシは設定に保持されますが、非アクティブなままです。
* パスワードは、オペレーティング システムの資格情報ストアに安全に保存されます。 リテラル パスワードの代わりに `${VAR}` 環境変数参照を入力することもできます。
* Linux と macOS では、プロキシは協調的です。プロキシは標準のプロキシ環境変数を介して適用され、それらを受け入れている各ツールに依存します。 Windowsでは、サンドボックスによってプロキシが適用されます。
* 組織では、マネージド設定を使用してプロキシ URL を適用できます。 その場合、URL は `(managed)`として表示されますが、ユーザー設定に格納されている独自の資格情報を指定することもできます。

## サンドボックスをすばやく有効または無効にする

完全な構成インターフェイスを開かずに、サンドボックスのオンとオフを切り替えることができます。

* **有効:**`/sandbox enable` セッションに「Copilot CLI」と入力します。
* **無効**: `/sandbox disable` セッションに「Copilot CLI」と入力します。

これらのコマンドは、\[**全般**] タブの **\[サンドボックスの有効化**] 設定を変更します。

## 現在のサンドボックス設定の表示

設定は、`settings.json`構成ディレクトリの`sandbox` キーの下のCopilot CLIに格納されます。 構成ディレクトリの詳細については、 [GitHub Copilot CLI の構成ディレクトリ](/ja/copilot/reference/copilot-cli-reference/cli-config-dir-reference) を参照してください。

Copilot CLI セッション内から現在のサンドボックス設定を表示できます。

1. 「`/settings`」と入力します。
2. <kbd>

/ </kbd>キーを押して設定を検索します。

1. `sandbox`を入力して、設定の一覧をフィルター処理します。

上記の手順では、保存した設定が表示されます。
**有効な**ファイルシステム ポリシー (設定後に生成される読み取り/書き込み、読み取り専用、拒否されたパス)、自動許可、および管理ポリシーが組み合わされていることを確認するには、`/sandbox policy`入力します。 詳細については、「[GitHub Copilot CLI のローカル サンドボックスに関するファイルシステム ポリシーを理解する](/ja/copilot/concepts/agents/copilot-cli/understanding-local-sandboxing)」を参照してください。

## 詳細については、次を参照してください。

* [クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot](/ja/copilot/concepts/about-cloud-and-local-sandboxes)
* [ローカル サンドボックスの利用](/ja/copilot/how-tos/cloud-and-local-sandboxes/using-local-sandboxing)
* [組織または企業のクラウド サンドボックスの有効化または無効化](/ja/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization)
* [GitHub Copilot CLI の構成](/ja/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli)