참고
클라우드 및 로컬 샌드박스 GitHub Copilot 가 있으며 공개 미리 보기 변경될 수 있습니다.
Introduction
Copilot 클라우드 및 로컬 샌드박스는 로컬 및 클라우드 모두에서 안전한 샌드박스 환경을 GitHub Copilot 명령 줄 인터페이스 (CLI)구동하는 실행 플랫폼입니다. Copilot 도구를 실행하고, 명령을 실행하고, 파일을 수정하는 등 사용자를 대신하여 더 많은 작업을 수행할 때 샌드박싱은 에이전트 워크플로를 안전하게 채택하는 데 필요한 격리, 이식성 및 정책 제어를 제공합니다.
샌드박싱은 현재 세션에 코파일럿 CLI 적용됩니다. 에서 새 세션을 시작할 때 클라우드 샌드박싱을 사용하도록 선택할 수도 있습니다 GitHub Copilot 앱. 자세한 내용은 GitHub Copilot 앱에서 에이전트 세션 사용하기을(를) 참조하세요.
샌드박싱을 사용하면 실행할 위치를 Copilot 선택할 수 있습니다.
- 로컬 샌드박싱: 사용자 고유의 컴퓨터에서 안전하게 실행 Copilot 합니다. 실행되는 명령은 Copilot 파일 시스템, 네트워크 및 시스템 기능에 대한 액세스를 제한합니다. 추가 비용 없이 로컬 샌드박싱을 사용할 수 있습니다.
- 클라우드 샌드박싱: 완전히 격리된 임시 Linux 환경 내에서 전체 코파일럿 CLI 세션을 원격으로 실행합니다 GitHub. 클라우드 샌드박싱은 사용량에 따라 청구됩니다.
로컬 샌드박싱
참고
로컬 샌드박싱은 현재 실험적 기능입니다. 이 기능을 사용하려면 코파일럿 CLI 명령줄 옵션으로 ‑‑experimental을 시작하거나, 세션 중에 /experimental on를 입력하세요.
로컬 샌드박싱을 사용하면 Copilot 파일 시스템, 네트워크 연결 및 시스템 기능에 대한 액세스가 제한되어 컴퓨터에서 직접 샌드박스로 처리된 환경에서 실행할 수 있습니다.
로컬 샌드박싱은 기본적으로 꺼져 있습니다. 이 명령을 사용하도록 설정할 때까지 실행되는 셸 명령은 Copilot 사용자 계정과 동일한 액세스 권한으로 컴퓨터에서 직접 실행됩니다. 사용자가 할 수 있는 모든 위치에서 읽고, 쓰고, 삭제하고, 컴퓨터가 연결할 수 있는 네트워크에 도달하고, 제한 없이 자격 증명을 사용할 수 있습니다. 로컬 샌드박싱을 사용하도록 설정하면 제어하는 정책에 대한 액세스가 제한됩니다.
로컬 샌드박싱 작동 방식
로컬 샌드박싱은 각 운영 체제에서 사용할 수 있는 격리 메커니즘에 공통 인터페이스를 제공하는 플랫폼 간 기술인 Microsoft mXC(eXecution Container)를 통해 구동됩니다. 코파일럿 CLI 는 적용하려는 샌드박스 정책(읽을 수 있거나 쓰기 가능한 경로, 네트워크 액세스 허용 여부 등)을 선언하고 MXC는 운영 체제에 적절한 격리 백 엔드를 사용하여 해당 정책을 적용합니다.
격리 기술은 전체 하이퍼바이저 또는 컨테이너와 같은 강력한 격리에서 OS 수준 프로세스 및 파일 시스템 포함과 같은 더 가벼운 격리에 이르기까지 스펙트럼에 존재합니다. 로컬 샌드박싱은 현재 이 스펙트럼의 더 가벼운 끝에 위치합니다. 프로세스에서 네트워크에서 읽고 쓰고 연결할 수 있는 것을 제한하지만 별도의 가상 머신 또는 컨테이너 내에서 명령을 실행하지는 않습니다. 이 수준의 격리가 보안 요구 사항을 충족하는지 여부를 평가하려면 구현 세부 정보는 microsoft/mxc 리포지토리 를 참조하세요.
로컬 샌드박스 활성화
세션 내에서 로컬 샌드박싱을 사용하도록 설정하려면 다음을 코파일럿 CLI 실행합니다.
/sandbox enable
/sandbox enable
로컬 샌드박싱을 사용하도록 설정한 후 에이전트가 사용자 대신 실행되는 명령 및 도구(셸 명령, 파일 검색 및 기본적으로 CLI가 시작하는 MCP 및 언어) 서버는 운영 체제 수준 샌드박스 내에서 실행되어 시스템에 대한 액세스를 제한합니다. CLI는 실행하여 사용하지 않도록 설정할 때까지 /sandbox disable 나중에 CLI를 사용할 때마다(프로그래밍 방식 및 대화형 사용을 위해) 로컬 샌드박싱을 계속 사용합니다.
CLI의 기본 제공 파일 도구(예: 셸 명령이 아닌 CLI의 일부인 자사 명령 sed)는 CLI에서 In-Process로 실행됩니다. CLI 자체는 샌드박스가 아니므로 운영 체제 샌드박스는 이러한 도구가 수행하는 파일 작업을 볼 수 없으며 이를 제한할 수 없습니다. 대신, 샌드박스 정책 자체를 확인하고 구성된 설정을 최대한 활용하기 위해 기본 제공 도구가 코딩됩니다.
자세한 내용은 로컬 샌드박싱 사용을(를) 참조하세요.
로컬 샌드박싱 구성
기본 로컬 샌드박싱 동작을 사용하거나 액세스할 수 있는 항목을 Copilot 수정할 수 있습니다. 로컬 샌드박싱을 구성할 때 여러 차원의 액세스를 제어할 수 있습니다.
- 파일 시스템: 특정 경로에 대한 읽기 전용 또는 읽기/쓰기 액세스 권한을 부여하거나 경로를 거부합니다.
- 네트워크: 아웃바운드 인터넷 액세스 및 로컬 네트워크 액세스를 독립적으로 허용하거나 차단합니다.
- 자격 증명: 샌드박스 내에서 Git 및 GitHub CLI (
gh) 자격 증명을 사용할 수 있는지 여부를 선택합니다. - 하위 프로세스: 로컬 MCP 서버 및 언어 서버도 샌드박스 내에서 실행되는지 여부를 선택합니다. 원격 MCP 서버는 샌드박스가 지정되지 않습니다.
- 키 집합(macOS): 샌드박스 내에서 시스템 키 집합에 연결할 수 있는지 여부를 선택합니다.
- 명령별 예외: 더 광범위한 액세스가 필요한 경우 개별 명령이 샌드박스 외부에서 실행되지 않도록 허용하거나 방지합니다.
자세한 내용은 로컬 샌드박스 설정 구성을(를) 참조하세요.
교차 플랫폼 지원
로컬 샌드박싱은 macOS 및 Linux 및 Windows Insiders 빌드에서 사용할 수 있습니다. 지원 및 격리 동작은 각 운영 체제에서 다른 격리 백 엔드를 사용하므로 플랫폼에 따라 다릅니다.
- macOS 는 Seatbelt 백 엔드(
sandbox-exec)를 사용합니다. - Linux 는 bubblewrap 백 엔드를 사용합니다. 이 백 엔드를 사용하려면
bwrap명령을 설치하고 사용할 수 있어야 합니다PATH. Linux에서 샌드박싱이 지원되지 않는다고 보고하는 경우/sandboxbubblewrap을 설치합니다. - Windows ProcessContainer 백 엔드를 사용합니다.
각 플랫폼은 서로 다른 백 엔드를 사용하므로 몇 가지 정책 옵션이 다르게 동작합니다. 특히, Windows 샌드박스는 개별 경로를 차단할 수 없으므로 추가한 거부된 경로 규칙은 무시됩니다. Windows 경로를 거부하는 대신 광범위한 디렉터 Copilot 리를 부여한 다음 해당 디렉터리의 일부를 제외하는 대신 필요한 특정 디렉터리에만 액세스 권한을 부여합니다. 거부된 경로가 적용되지 않더라도 중요한 위치가 샌드박스의 손이 닿지 않는 곳에 유지됩니다. 거부된 경로는 macOS 및 Linux에 적용됩니다.
엔터프라이즈 정책 적용
조직 및 기업의 경우 Microsoft Intune 및 기타 MDM(모바일 디바이스 관리) 플랫폼을 사용하여 로컬 샌드박스 정책을 중앙에서 구성하고 적용할 수 있습니다. 이를 통해 관리자는 관리되는 디바이스에서 로컬 리소스와 상호 작용하는 방법을 Copilot 제어할 수 있습니다. MDM 관리 설정 배포를 참조하세요.
클라우드 샌드박싱
클라우드 샌드박싱을 사용하면 코파일럿 CLI에서 호스팅되는 완전히 격리된 일시적인 Linux 환경 내에서 GitHub 세션을 실행할 수 있습니다. 각 클라우드 샌드박스 세션은 로컬 환경 및 다른 세션에서 격리됩니다.
클라우드 샌드박싱은 id, 정책 및 청구 계층을 제공하는 GitHub Azure Container Apps 샌드박스를 기반으로 합니다.
참고
조직을 통해 가져오는 Copilot 경우 클라우드 샌드박싱에 대한 액세스는 기본적으로 사용하지 않도록 설정되는 조직 또는 엔터프라이즈 설정에서 사용하도록 설정되는 것에 따라 달라집니다. 자세한 내용은 조직 또는 엔터프라이즈에 클라우드 샌드박스 사용 또는 사용 안 함을(를) 참조하세요.
클라우드 샌드박스 세션 시작
클라우드 지원 세션을 시작하려면 다음 명령을 실행합니다.
copilot ‑‑cloud ‑‑experimental
copilot ‑‑cloud ‑‑experimental
참고
클라우드 샌드박싱은 현재 실험적 기능입니다. 이를 사용하려면 위와 같이 CLI 세션을 시작할 때 명령줄 옵션을 사용하여 ‑‑experimental 실험적 기능을 사용하도록 설정코파일럿 CLI해야 합니다.
‑‑cloud 명령줄 옵션은 클라우드 샌드박스 내에서 대화형 코파일럿 CLI 세션을 시작합니다. 로컬 세션에서 하듯이 Copilot에 작업 수행, 셸 명령 실행, 코드 반복 개선을 지시할 수 있습니다. 실행되는 명령은 Copilot 로컬 컴퓨터가 아닌 클라우드 환경에서 실행됩니다.
실행 copilot ‑‑cloud 은 클라우드 샌드박스에서 단일 코파일럿 CLI 세션을 시작합니다. 이후 Copilot 세션에는 영향을 주지 않습니다. 클라우드 샌드박스에서 새 세션을 실행할 때마다 이 옵션을 사용하여 CLI를 ‑‑cloud 시작해야 합니다.
참고
클라우드 샌드박싱은 대화형 코파일럿 CLI 세션에만 사용할 수 있습니다. 클라우드 샌드박스에서는 CLI를 프로그래밍 방식으로 실행할 수 없습니다. 즉, 옵션을 옵션과 -p``-i 결합 ‑‑cloud 할 수 없습니다.
디바이스에서 세션 계속
클라우드 샌드박스 세션은 GitHub호스팅 인프라에서 실행되므로 세션이 처음 시작된 위치와 관계없이 어느 기기에서나 Copilot 세션을 이어서 사용할 수 있습니다. 이렇게 하면 파일을 복사하거나 종속성을 다시 설치할 필요 없이 보다 유연한 워크플로를 사용할 수 있습니다.
계산 집약적 워크플로 오프로드
로컬 리소스를 사용하지 않고 클라우드에서 여러 Copilot 작업을 병렬로 실행할 수 있습니다. 이렇게 하면 에이전트 기반 작업의 크기를 조정하는 동안 로컬 환경이 가볍고 응답성이 유지됩니다.
통합 거버넌스
클라우드 샌드박스 정책은 정책과 동일한 구성 Copilot 클라우드 에이전트 을 공유하며, 추가 설정 없이 기존 보안 제어를 클라우드 샌드박스 실행으로 확장합니다.
세션 수명 주기
클라우드 샌드박스 세션에는 세 가지 주요 상태가 있습니다.
- 활성: 세션이 실행 중이며, 코파일럿 CLI에서 상호 작용하고 있습니다.
- 중지됨: 세션이 현재 실행되고 있지 않지만 해당 상태가 저장됩니다. 다시 시작하면 파일, 환경 변수 및 진행 중인 작업이 복원됩니다.
- 삭제됨: 세션 및 저장된 상태가 제거되고 복구할 수 없습니다.
세션을 중지하면 클라우드 샌드박스는 나중에 중단한 위치를 선택할 수 있도록 해당 상태의 스냅샷을 만듭니다. 세션을 삭제하면 실행 중인 환경과 스냅샷이 모두 제거됩니다.
인증 및 액세스
샌드박싱은 기존 인증을 코파일럿 CLI 사용합니다. 로그인하여 코파일럿 CLI 액세스할 Copilot수 있는 경우 샌드박싱을 사용할 수 있습니다. 별도의 클라우드 공급자를 구성하거나, API 키를 관리하거나, 인프라를 설정할 필요가 없습니다.
조직 또는 엔터프라이즈 소유자는 구성원이 클라우드 샌드박스 를 사용하려면 먼저 조직 또는 엔터프라이즈 설정에서 클라우드 샌드박스 액세스 정책을 사용하도록 설정해야 합니다.
조직의 구성원에 대해 클라우드 샌드박스를 사용하거나 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 조직 또는 엔터프라이즈에 클라우드 샌드박스 사용 또는 사용 안 함을 참조하세요.
결제
추가 비용 없이 표준 GitHub Copilot 좌석에 로컬 샌드박싱이 포함되어 있습니다.
클라우드 샌드박싱은 사용량에 따라 청구됩니다. GitHub 3미터에 걸쳐 클라우드 샌드박스 사용량을 측정합니다.
| Meter | Description | 단위 | 가격(USD) |
|---|---|---|---|
| Compute | 클라우드 샌드박스 세션이 실행되는 시간입니다. | 컴퓨팅 초 | $0.000024 |
| 기억 | 실행되는 동안 클라우드 샌드박스 세션에 할당된 메모리입니다. | GiB 초 | $0.000003 |
| Storage | 중지된 세션에 대한 스냅샷 스토리지입니다. | GiB 월 | 0.005달러 |
클라우드 샌드박스 사용량을 측정하고 청구하는 방법에 대한 자세한 내용은 클라우드 및 로컬 샌드박스에 대한 청구 GitHub Copilot을 참조하세요.