# 로컬 샌드박스 설정 구성

/sandbox 슬래시 명령을 사용하여 로컬 샌드박스가 Copilot CLI 파일 시스템 액세스, 네트워크 연결 및 시스템 기능을 제한하는 방법을 제어합니다.

> \[!NOTE]
> 로컬 샌드박스가 GitHub Copilot 있으며 공개 미리 보기 변경될 수 있습니다.

> \[!IMPORTANT]
> Windows 로컬 샌드박싱에는 Windows 참가자 빌드가 필요합니다.

## 로컬 샌드박스 구성 정보

슬래시 명령을 사용하여 `/sandbox` 추가 경로를 부여하거나, 네트워크 액세스를 조정하거나, 샌드박싱을 켜거나 끌 수 있습니다.

Copilot의 클라우드 및 로컬 샌드박스에 대한 개념적 개요는 [클라우드 및 로컬 샌드박스에 대하여 GitHub Copilot](/ko/copilot/concepts/about-cloud-and-local-sandboxes)을 참조하세요.

## 샌드박스 구성 열기

1. Copilot CLI 세션을 시작합니다.

2. `/sandbox` 슬래시 명령을 입력합니다.

**그러면 일반**, **인증**, **파일 시스템** 및 **네트워크**라는 네 개의 탭이 있는 대화형 구성 인터페이스가 열립니다. <kbd>Tab</kbd> 키를 사용하여 탭 사이를 전환합니다. <kbd>Esc</kbd> 키를 눌러 변경 내용을 저장하고 구성을 닫습니다.

## 일반 설정 구성

**일반** 탭은 최상위 샌드박스 동작을 제어합니다. 엔터프라이즈 관리 설정에서 값을 강제하면 대화 상자에서 해당 설정을 `(managed)`(으)로 표시하고 사용자가 이를 변경하지 못하도록 합니다.

| Setting                                                    | Description                                                                                                                                                                     |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **샌드박스 사용**                                                | 샌드박스 내에서 셸 명령을 실행합니다.                                                                                                                                                           |
| `/sandbox enable` 및 `/sandbox disable`로도 이 기능을 전환할 수 있습니다. |                                                                                                                                                                                 |
| **샌드박스 바이패스 허용**                                           | 모델에서 승인에 따라 개별 명령이 샌드박스 외부에서 실행되도록 요청합니다. 바이패스 프롬프트를 사용하면 현재 세션의 나머지 부분에 대해 샌드박싱을 사용하지 않도록 설정할 수도 있습니다. 기본적으로 켜져 있습니다. 자세한 내용은 [샌드박스 바이패스 허용을](#allowing-sandbox-bypass) 참조하세요. |
| **샌드박스 MCP 서버**                                            | 샌드박스 내에서 MCP 서버를 실행합니다. 기본적으로 켜져 있습니다.                                                                                                                                          |
| **샌드박스 LSP 서버**                                            | 샌드박스 내에서 언어 서버(LSP 서버)를 실행합니다. 기본적으로 켜져 있습니다.                                                                                                                                   |

### 샌드박스 바이패스 허용

**샌드박스 허용 바이패**스 설정은 샌드박스 내에서 명령을 성공적으로 실행할 수 없을 때 Copilot 발생하는 일을 제어합니다.

* **켜기(기본값)**: 샌드박스 내에서 명령이 실패하면 샌드박스 외부에서 명령을 실행할 수 있도록 허용 Copilot 하라는 메시지가 표시됩니다. 이 프롬프트에 대한 응답은 명령을 실행하려는 이 특정 시도에 적용됩니다. 원하는 경우 남은 세션 동안 샌드박스를 비활성화하도록 선택할 수 있으며(기업에서 허용하는 경우), 대신 Copilot에서 작업할 지침을 입력할 수도 있습니다.
* **Off**: 샌드박스에서 명령을 성공적으로 실행할 수 없는 경우 Copilot 작업 작업을 중지하고 오류를 보고합니다.

엔터프라이즈에서 관리하는 설정이 `false`을 `sandbox.allowBypass`(으)로 설정한 경우, 개별 명령이 샌드박스 외부에서 실행되도록 승인하거나 남은 세션 동안 샌드박스를 비활성화할 수 없습니다. 관리되는 설정에 샌드박싱이 필요하지만 유효한 정책에서 바이패스를 허용하는 경우 일반 설정이나 `/sandbox disable`설정이 아닌 활성 바이패스 권한 프롬프트에서만 샌드박싱을 사용하지 않도록 설정할 수 있습니다.

## 인증 설정 구성

**인증** 탭은 샌드박스 내에서 실행되는 명령에 자격 증명을 사용할 수 있는지 여부를 제어합니다. 다른 탭과 마찬가지로 엔터프라이즈 관리형 값은 다음과 같이 `(managed)` 표시되며 변경할 수 없습니다.

| Setting                                                                                                                                                         | Description                                                                                                                 |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Git 인증**                                                                                                                                                      |                                                                                                                             |
| GitHub 인증된 HTTPS `git` 가 자격 증명 도우미 없이 샌드박스 내에서 작동하도록 토큰을 삽입합니다. GitHub 없는 호스트의 경우 자체 저장된 자격 증명을 샌드박스 `git` 명령에서 대신 사용할 수 있습니다. 기본적으로 켜져 있습니다.                   |                                                                                                                             |
| **gh 인증하기**                                                                                                                                                     |                                                                                                                             |
| `GH_TOKEN`를 export하여 GitHub CLI가 샌드박스 내에서 저장된 자격 증명(구성 디렉터리 또는 OS 키체인, 샌드박스가 이에 대한 접근을 차단함)에 접근하지 않고도 작동하도록 하세요(참고: `gh` CLI이며 `copilot`가 아닙니다). 기본적으로 켜져 있습니다. |                                                                                                                             |
| **키 집합 액세스 허용**                                                                                                                                                 | macOS에서만 사용할 수 있습니다. 샌드박스 처리된 명령이 macOS 키체인을 사용하여, 예를 들어 `git` 및 `gh` 자격 증명 도우미가 사용하는 자격 증명에 액세스할 수 있도록 합니다. 기본적으로 꺼져 있습니다. |

## 파일 시스템 설정 구성

**파일 시스템** 탭은 샌드박스 처리에서 액세스할 수 있는 디렉터리 및 파일을 제어합니다.

기본적으로 Copilot 현재 작업 디렉터리 내/아래의 모든 항목에 대한 읽기/쓰기 권한이 부여됩니다. Git 리포지토리 안에 있으면 Copilot도 활성화됩니다.

* 리포지토리의 `.git` 디렉터리 및 그 하위 디렉터리의 모든 항목에 대한 읽기/쓰기 권한입니다.
* 현재 작업 디렉터리 위에 있는 리포지토리의 다른 모든 항목에 대한 읽기 권한입니다. 작업 디렉터리 자체는 읽기/쓰기 상태로 유지됩니다. 두 권한이 겹치는 경우에는 더 구체적인 권한 부여가 우선하기 때문입니다.

| Setting          | Description                                                                                                                                                                                                                          |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **작업 디렉터리 포함**   | 기본적으로 켜져 있습니다. 현재 작업 디렉터리(및 바깥쪽 리포지토리의 `.git` 디렉터리(있는 경우)가 읽기/쓰기 경로 목록에 자동으로 추가됩니다. 작업 디렉터리에 읽기/쓰기 액세스 권한을 자동으로 부여하지 않으려면 이 옵션을 선택 취소한 다음, 특정 경로에 대한 액세스를 수동으로 허용합니다.                                                                |
| **개발 도구 액세스 허용** | 기본적으로 켜져 있습니다. 샌드박스 명령이 개발자 도구 구성 및 캐시(패키지 관리자 레지스트리 및 저장 토큰 포함)에 대한 읽기 액세스 권한을 부여하고 공유 빌드 캐시에 대한 읽기/쓰기 액세스 권한을 부여하므로 샌드박스 내에서 설치 및 빌드가 작동합니다. 이는 보고서에서 **개발 도구 액세스** 로 `/sandbox policy` 나타납니다. 이 설정을 끄면 해당 위치가 명시적으로 허용되도록 해야 합니다. |

> \[!IMPORTANT]
> **Include 작업 디렉터리의** 선택을 취소하면 Git 리포지토리의 디렉터리 내/아래에 `.git` 있는 모든 항목에 대한 액세스 권한이 제거됩니다. 따라서 이 디렉터리에 대한 액세스를 수동으로 추가하지 않으면 Git 작업(예: `status`, `add`및`commit``diff`)이 실패합니다.

### 파일 시스템 경로 규칙 추가

샌드박스에 추가할 경로를 지정할 수 있습니다. 이렇게 하면 작업 디렉터리 외부의 디렉터리 및 파일에 대한 읽기 전용 또는 읽기/쓰기 액세스 권한을 부여할 수 있습니다. 샌드박스에서 디렉터리 및 파일을 제외하기 위해 액세스를 거부할 수도 있습니다.

1. **파일 시스템** 탭에서 <kbd>A</kbd> 키를 눌러 새 경로 규칙을 추가합니다.

2. 파일 또는 디렉터리 경로를 입력합니다. 절대 경로(예`/Users/octocat/projects/app`: macOS 또는 Linux 또는 `C:\Users\octocat\projects\app` Windows)를 사용합니다. 그런 다음, <kbd>Enter</kbd> 키를 누릅니다.

   > \[!NOTE]
   > 디렉터리를 추가하면 전체 하위 트리가 포함됩니다. 와일드카드는 지원되지 않습니다.

3. 키보드의 왼쪽 및 오른쪽 화살표 키를 사용하여 사용 권한 옵션( **읽기/쓰기**, **읽기 전용**, **거부됨**) 사이를 이동합니다. 그런 다음 <kbd>Enter</kbd> 키를 눌러 옵션을 선택합니다.

파일 시스템 경로를 추가한 후 편집하거나 삭제할 수 있습니다.

1. 위쪽 및 아래쪽 화살표 키를 사용하여 경로를 선택합니다.
2. <kbd>Enter</kbd> 키를 눌러 경로를 편집하거나 <kbd>D</kbd> 키를 눌러 삭제합니다.

## 네트워크 설정 구성

**네트워크** 탭은 샌드박스 처리가 네트워크 연결을 만들 수 있는지 여부를 제어합니다.

| Setting                                                                | Description                                                                                                                                             |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **아웃바운드 연결 허용**                                                        | 기본적으로 켜져 있습니다. 이 기능을 켜면 샌드박스 처리가 인터넷의 외부 호스트에 연결할 수 있습니다. 샌드박스를 네트워크에서 완전히 격리하려면 이 기능을 해제합니다.                                                           |
| **로컬 네트워크 허용**                                                         | 기본적으로 켜져 있습니다. 이 기능을 켜면 샌드박스 처리된 프로세스가 로컬 네트워크의 호스트(예: `localhost` 또는 LAN의 다른 장치)에 액세스할 수 있습니다. 샌드박스가 로컬 또는 프라이빗 네트워크 서비스에 도달하지 못하도록 차단하려면 이 기능을 해제합니다. |
| **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 구성 디렉터리](/ko/copilot/reference/copilot-cli-reference/cli-config-dir-reference)을 참조하세요.

세션 내에서 Copilot CLI 현재 샌드박스 설정을 볼 수 있습니다.

1. `/settings`를 입력합니다.
2. 설정을 검색하려면 누릅니다 <kbd>/</kbd> .
3. 설정 목록을 필터링하려면 입력 `sandbox` 합니다.

위의 단계에서는 저장된 설정을 보여 줍니다. 설정, 자동 권한 부여 및 관리되는 정책이 결합된 후 발생하는 읽기/쓰기, 읽기 전용 및 거부된 경로와 같은 **효과적인** 파일 시스템 정책을 보려면 다음을 입력합니다 `/sandbox policy`. 자세한 내용은 [에서 로컬 샌드박싱에 대한 파일 시스템 정책 이해 GitHub Copilot CLI](/ko/copilot/concepts/agents/copilot-cli/understanding-local-sandboxing)을(를) 참조하세요.

## 추가 읽기

* [클라우드 및 로컬 샌드박스에 대하여 GitHub Copilot](/ko/copilot/concepts/about-cloud-and-local-sandboxes)
* [로컬 샌드박싱 사용](/ko/copilot/how-tos/cloud-and-local-sandboxes/using-local-sandboxing)
* [조직 또는 엔터프라이즈에 클라우드 샌드박스 사용 또는 사용 안 함](/ko/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization)
* [GitHub Copilot CLI 구성](/ko/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli)