12 12
13> [!NOTE]13> [!NOTE]
14>14>
15> 더 광범위한 보안 모델은 [보안](/docs/ko/security.md)을 참조하세요. Agent SDK 배포의 경우 [안전한 배포](/docs/ko/agent-sdk/secure-deployment.md)를 참조하세요.15> 더 광범위한 보안 모델은 [보안](https://code.claude.com/docs/ko/security.md)을 참조하세요. Agent SDK 배포의 경우 [안전한 배포](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md)를 참조하세요.
16 16
17## 샌드박스 방식 비교17## 샌드박스 방식 비교
18 18
27| [가상 머신](#virtual-machine) | 전체 운영 체제 | 아니오 | 높음 |27| [가상 머신](#virtual-machine) | 전체 운영 체제 | 아니오 | 높음 |
28| [클라우드 세션](#cloud-sessions) | 전체 운영 체제(Anthropic에서 호스팅) | 아니오 | 없음; Claude 구독 필요, `claude --cloud`로 실행하지 않는 한 연결된 GitHub 계정 필요 |28| [클라우드 세션](#cloud-sessions) | 전체 운영 체제(Anthropic에서 호스팅) | 아니오 | 없음; Claude 구독 필요, `claude --cloud`로 실행하지 않는 한 연결된 GitHub 계정 필요 |
29 29
30[샌드박스 Bash 도구](/docs/ko/sandboxing.md)는 Claude Code에 기본 제공되며 Bash 명령만 제한합니다. 기본 제공 파일 도구, MCP 서버, 훅은 여전히 호스트에서 직접 실행됩니다. 표의 다른 모든 방식은 전체 Claude Code 프로세스를 격리 경계 내에 배치하므로 파일 도구, MCP 서버, 훅도 제한됩니다.30[샌드박스 Bash 도구](https://code.claude.com/docs/ko/sandboxing.md)는 Claude Code에 기본 제공되며 Bash 명령만 제한합니다. 기본 제공 파일 도구, MCP 서버, 훅은 여전히 호스트에서 직접 실행됩니다. 표의 다른 모든 방식은 전체 Claude Code 프로세스를 격리 경계 내에 배치하므로 파일 도구, MCP 서버, 훅도 제한됩니다.
31 31
32> [!WARNING]32> [!WARNING]
33>33>
34> 샌드박스 격리는 침해의 영향을 줄이지만 위험을 완전히 제거하지는 않습니다. 네트워크 송신을 허용하는 모든 방식은 여전히 에이전트가 읽을 수 있는 데이터를 유출할 수 있으며, 프로젝트 디렉토리를 쓰기 가능하게 마운트하는 모든 방식은 여전히 해당 코드를 수정할 수 있습니다. 샌드박스를 하드 제어로 사용하기 전에 [보안 제한 사항](/docs/ko/sandboxing.md#security-limitations)을 검토하세요.34> 샌드박스 격리는 침해의 영향을 줄이지만 위험을 완전히 제거하지는 않습니다. 네트워크 송신을 허용하는 모든 방식은 여전히 에이전트가 읽을 수 있는 데이터를 유출할 수 있으며, 프로젝트 디렉토리를 쓰기 가능하게 마운트하는 모든 방식은 여전히 해당 코드를 수정할 수 있습니다. 샌드박스를 하드 제어로 사용하기 전에 [보안 제한 사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 검토하세요.
35>35>
36> 격리는 또한 모델로 전송되는 항목을 변경하지 않습니다. 프롬프트와 Claude가 읽는 파일은 샌드박스 여부와 관계없이 Anthropic API 또는 구성된 제공자에게 전송됩니다. Claude Code가 전송하는 항목과 이를 줄이는 방법은 [데이터 사용](/docs/ko/data-usage.md)을 참조하세요.36> 격리는 또한 모델로 전송되는 항목을 변경하지 않습니다. 프롬프트와 Claude가 읽는 파일은 샌드박스 여부와 관계없이 Anthropic API 또는 구성된 제공자에게 전송됩니다. Claude Code가 전송하는 항목과 이를 줄이는 방법은 [데이터 사용](https://code.claude.com/docs/ko/data-usage.md)을 참조하세요.
37 37
38## 방식 선택38## 방식 선택
39 39
41 41
42| 원하는 작업 | 시작 위치 |42| 원하는 작업 | 시작 위치 |
43| :- | :- |43| :- | :- |
44| 자신의 머신에서 일상 작업 중 권한 프롬프트 감소 | [샌드박스 Bash 도구](/docs/ko/sandboxing.md), `/sandbox`로 구성 |44| 자신의 머신에서 일상 작업 중 권한 프롬프트 감소 | [샌드박스 Bash 도구](https://code.claude.com/docs/ko/sandboxing.md), `/sandbox`로 구성 |
45| Claude가 `--dangerously-skip-permissions` 또는 자동 모드로 무인 작동 | 사전 구성된 [개발 컨테이너](/docs/ko/devcontainer.md), 모든 컨테이너 또는 VM, 또는 [샌드박스 런타임](#sandbox-runtime) |45| Claude가 `--dangerously-skip-permissions` 또는 자동 모드로 무인 작동 | 사전 구성된 [개발 컨테이너](https://code.claude.com/docs/ko/devcontainer.md), 모든 컨테이너 또는 VM, 또는 [샌드박스 런타임](#sandbox-runtime) |
46| Docker 없이 MCP 서버 및 훅과 Bash 격리 | 샌드박스 런타임 |46| Docker 없이 MCP 서버 및 훅과 Bash 격리 | 샌드박스 런타임 |
47| 신뢰할 수 없는 저장소에서 작업 | 전용 가상 머신 또는 Claude 구독이 있는 경우 [웹의 Claude Code](/docs/ko/claude-code-on-the-web.md); `claude --cloud`로 시작할 때 GitHub는 필요하지 않습니다 |47| 신뢰할 수 없는 저장소에서 작업 | 전용 가상 머신 또는 Claude 구독이 있는 경우 [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md); `claude --cloud`로 시작할 때 GitHub는 필요하지 않습니다 |
48| 팀 전체에서 샌드박스 환경 표준화 | 사전 구성된 [개발 컨테이너](/docs/ko/devcontainer.md), 저장소에 복사됨 |48| 팀 전체에서 샌드박스 환경 표준화 | 사전 구성된 [개발 컨테이너](https://code.claude.com/docs/ko/devcontainer.md), 저장소에 복사됨 |
49| 로컬 설정이 없는 장치에서 Claude Code 사용 | [웹의 Claude Code](/docs/ko/claude-code-on-the-web.md), Claude 구독 및 연결된 GitHub 계정 필요 |49| 로컬 설정이 없는 장치에서 Claude Code 사용 | [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md), Claude 구독 및 연결된 GitHub 계정 필요 |
50| 조직의 모든 개발자를 위한 격리 필요 | [조직 전체 격리 적용](#enforce-isolation-across-an-organization) |50| 조직의 모든 개발자를 위한 격리 필요 | [조직 전체 격리 적용](#enforce-isolation-across-an-organization) |
51| 기본 Windows 호스트에서 작업 | 컨테이너 또는 VM, 또는 WSL2 내에서 Bash 샌드박스 실행 |51| 기본 Windows 호스트에서 작업 | 컨테이너 또는 VM, 또는 WSL2 내에서 Bash 샌드박스 실행 |
52 52
53### 격리가 권한 모드와 어떻게 관련되는지53### 격리가 권한 모드와 어떻게 관련되는지
54 54
55[권한 모드](/docs/ko/permission-modes.md)는 도구 호출이 실행되는지 여부와 먼저 프롬프트를 받는지 여부를 결정합니다. 격리는 명령이 실행되면 접근할 수 있는 항목을 제한합니다. 둘은 함께 작동합니다: 권한 모드가 작업을 묻지 않고 실행하도록 하면 격리 경계는 해당 작업이 도달할 수 있는 항목을 제한합니다.55[권한 모드](https://code.claude.com/docs/ko/permission-modes.md)는 도구 호출이 실행되는지 여부와 먼저 프롬프트를 받는지 여부를 결정합니다. 격리는 명령이 실행되면 접근할 수 있는 항목을 제한합니다. 둘은 함께 작동합니다: 권한 모드가 작업을 묻지 않고 실행하도록 하면 격리 경계는 해당 작업이 도달할 수 있는 항목을 제한합니다.
56 56
57`--dangerously-skip-permissions`를 전달하면 Claude는 먼저 묻지 않고 작동합니다. [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes.md#actions-no-mode-auto-approves)에 대한 제한은 여전히 적용됩니다.57`--dangerously-skip-permissions`를 전달하면 Claude는 먼저 묻지 않고 작동합니다. [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)에 대한 제한은 여전히 적용됩니다.
58 58
59실수를 잡을 프롬프트가 없으면 선택한 격리 경계가 시스템을 보호하는 것입니다. 항상 컨테이너, VM 또는 [샌드박스 런타임](#sandbox-runtime) 내에서 `--dangerously-skip-permissions` 세션을 실행하여 파일 도구, MCP 서버, 훅도 경계 내에 있도록 하세요. Linux 및 macOS에서 Claude Code는 루트로 실행할 때 이 플래그로 시작하기를 거부하므로 컨테이너, VM 또는 샌드박스 런타임을 루트가 아닌 사용자로 실행하세요.59실수를 잡을 프롬프트가 없으면 선택한 격리 경계가 시스템을 보호하는 것입니다. 항상 컨테이너, VM 또는 [샌드박스 런타임](#sandbox-runtime) 내에서 `--dangerously-skip-permissions` 세션을 실행하여 파일 도구, MCP 서버, 훅도 경계 내에 있도록 하세요. Linux 및 macOS에서 Claude Code는 루트로 실행할 때 이 플래그로 시작하기를 거부하므로 컨테이너, VM 또는 샌드박스 런타임을 루트가 아닌 사용자로 실행하세요.
60 60
61[자동 모드](/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)는 프롬프트를 작업을 검토하는 분류기로 바꿉니다. 분류기는 작업별 제어이지 격리 경계가 아니므로 격리 경계는 여전히 무인 실행을 위한 심층 방어를 추가하며 `--dangerously-skip-permissions`의 경우처럼 필수는 아닙니다.61[자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)는 프롬프트를 작업을 검토하는 분류기로 바꿉니다. 분류기는 작업별 제어이지 격리 경계가 아니므로 격리 경계는 여전히 무인 실행을 위한 심층 방어를 추가하며 `--dangerously-skip-permissions`의 경우처럼 필수는 아닙니다.
62 62
63[샌드박스 Bash 도구](#sandboxed-bash-tool) 자체는 Bash만 제한하므로 두 모드 모두에서 완전히 무인 실행에는 충분하지 않습니다. 방식을 계층화할 수 있습니다: 컨테이너 또는 VM 내에서 샌드박스 Bash 도구를 실행하면 외부 환경 경계 위에 OS 수준 명령 제한이 제공됩니다. Bash 샌드박스 자체가 권한 규칙 및 권한 모드와 상호 작용하는 방식은 [샌드박싱이 권한 및 권한 모드와 어떻게 관련되는지](/docs/ko/sandboxing.md#how-sandboxing-relates-to-permissions-and-permission-modes)를 참조하세요.63[샌드박스 Bash 도구](#sandboxed-bash-tool) 자체는 Bash만 제한하므로 두 모드 모두에서 완전히 무인 실행에는 충분하지 않습니다. 방식을 계층화할 수 있습니다: 컨테이너 또는 VM 내에서 샌드박스 Bash 도구를 실행하면 외부 환경 경계 위에 OS 수준 명령 제한이 제공됩니다. Bash 샌드박스 자체가 권한 규칙 및 권한 모드와 상호 작용하는 방식은 [샌드박싱이 권한 및 권한 모드와 어떻게 관련되는지](https://code.claude.com/docs/ko/sandboxing.md#how-sandboxing-relates-to-permissions-and-permission-modes)를 참조하세요.
64 64
65## 샌드박스 Bash 도구65## 샌드박스 Bash 도구
66 66
70 70
71샌드박스 Bash 도구는 Claude Code에 기본 제공됩니다. 운영 체제 기본 요소를 사용하여 Claude가 실행하는 Bash, PowerShell, Monitor 도구 명령의 파일 시스템 및 네트워크 접근을 제한합니다.71샌드박스 Bash 도구는 Claude Code에 기본 제공됩니다. 운영 체제 기본 요소를 사용하여 Claude가 실행하는 Bash, PowerShell, Monitor 도구 명령의 파일 시스템 및 네트워크 접근을 제한합니다.
72 72
73`/sandbox` 명령을 실행하여 샌드박스 패널을 열고 모드를 선택하세요. [샌드박싱](/docs/ko/sandboxing.md) 가이드는 승인 모드, 기본 경계, 이를 확대하거나 좁히는 방법을 다룹니다.73`/sandbox` 명령을 실행하여 샌드박스 패널을 열고 모드를 선택하세요. [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md) 가이드는 승인 모드, 기본 경계, 이를 확대하거나 좁히는 방법을 다룹니다.
74 74
75명령별 샌드박스는 세션에서 실행되는 모든 것을 다루지 않습니다:75명령별 샌드박스는 세션에서 실행되는 모든 것을 다루지 않습니다:
76 76
77* Read, Edit, WebFetch와 같은 다른 [기본 제공 도구](/docs/ko/tools-reference.md)는 Claude Code 프로세스 내에서 실행되며 임의의 코드를 생성하지 않습니다. [권한 규칙](/docs/ko/permissions.md)이 경로 또는 도메인으로 이들을 제어합니다.77* Read, Edit, WebFetch와 같은 다른 [기본 제공 도구](https://code.claude.com/docs/ko/tools-reference.md)는 Claude Code 프로세스 내에서 실행되며 임의의 코드를 생성하지 않습니다. [권한 규칙](https://code.claude.com/docs/ko/permissions.md)이 경로 또는 도메인으로 이들을 제어합니다.
78* [MCP](/docs/ko/mcp.md) 서버, [명령 훅](/docs/ko/hooks.md#command-hook-fields), [플러그인 모니터](/docs/ko/plugins/components.md#monitors)는 호스트에서 제약 없이 실행되는 별도의 프로세스입니다. 이와 같이 실행되는 다른 프로세스에 대해서는 [샌드박스 외부에서 실행되는 항목](/docs/ko/sandboxing.md#what-runs-outside-the-sandbox)을 참조하세요.78* [MCP](https://code.claude.com/docs/ko/mcp.md) 서버, [명령 훅](https://code.claude.com/docs/ko/hooks.md#command-hook-fields), [플러그인 모니터](https://code.claude.com/docs/ko/plugins/components.md#monitors)는 호스트에서 제약 없이 실행되는 별도의 프로세스입니다. 이와 같이 실행되는 다른 프로세스에 대해서는 [샌드박스 외부에서 실행되는 항목](https://code.claude.com/docs/ko/sandboxing.md#what-runs-outside-the-sandbox)을 참조하세요.
79 79
80기본 제공 도구, MCP 서버, 훅을 모두 하나의 OS 경계 뒤에 배치하려면 전체 Claude Code 프로세스를 [샌드박스 런타임](#sandbox-runtime), [개발 컨테이너](#dev-containers) 또는 [사용자 정의 컨테이너](#custom-container) 내에서 실행하세요.80기본 제공 도구, MCP 서버, 훅을 모두 하나의 OS 경계 뒤에 배치하려면 전체 Claude Code 프로세스를 [샌드박스 런타임](#sandbox-runtime), [개발 컨테이너](#dev-containers) 또는 [사용자 정의 컨테이너](#custom-container) 내에서 실행하세요.
81 81
83 83
84[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime) 패키지는 전체 프로세스를 기본 제공 Bash 샌드박스가 사용하는 것과 동일한 Seatbelt 또는 bubblewrap 격리로 래핑합니다. 런타임을 통해 Claude Code를 실행하면 셸 명령뿐만 아니라 세션의 도구, 훅 및 MCP 서버도 제한합니다. 런타임은 베타 리서치 프리뷰이며, 패키지가 발전함에 따라 구성 형식이 변경될 수 있습니다.84[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime) 패키지는 전체 프로세스를 기본 제공 Bash 샌드박스가 사용하는 것과 동일한 Seatbelt 또는 bubblewrap 격리로 래핑합니다. 런타임을 통해 Claude Code를 실행하면 셸 명령뿐만 아니라 세션의 도구, 훅 및 MCP 서버도 제한합니다. 런타임은 베타 리서치 프리뷰이며, 패키지가 발전함에 따라 구성 형식이 변경될 수 있습니다.
85 85
86이 섹션에서는 사용자가 구성하는 항목과 런타임이 자체적으로 적용하는 항목을 다룹니다. Agent SDK 애플리케이션에서 런타임을 배포하는 방법은 [보안 배포 가이드](/docs/ko/agent-sdk/secure-deployment.md#sandbox-runtime)를 참조하십시오.86이 섹션에서는 사용자가 구성하는 항목과 런타임이 자체적으로 적용하는 항목을 다룹니다. Agent SDK 애플리케이션에서 런타임을 배포하는 방법은 [보안 배포 가이드](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md#sandbox-runtime)를 참조하십시오.
87 87
88### 런타임 설정 및 시작88### 런타임 설정 및 시작
89 89
90Linux 및 WSL2에서 런타임은 기본 제공 샌드박스와 동일한 `bubblewrap` 및 `socat` 패키지에 의존하며, Claude Code가 번들로 제공하지만 독립 실행형 런타임은 PATH에서 확인하는 `ripgrep`도 필요합니다. [Linux 및 WSL2 설정](/docs/ko/sandboxing.md#set-up-linux-and-wsl2)에 설명된 대로 `bubblewrap` 및 `socat`을 설치하고, 배포판의 패키지 관리자에서 `ripgrep`을 설치하십시오. macOS에서는 추가 패키지가 필요하지 않습니다. 런타임은 여기서 기본 제공 Seatbelt 샌드박스를 사용합니다.90Linux 및 WSL2에서 런타임은 기본 제공 샌드박스와 동일한 `bubblewrap` 및 `socat` 패키지에 의존하며, Claude Code가 번들로 제공하지만 독립 실행형 런타임은 PATH에서 확인하는 `ripgrep`도 필요합니다. [Linux 및 WSL2 설정](https://code.claude.com/docs/ko/sandboxing.md#set-up-linux-and-wsl2)에 설명된 대로 `bubblewrap` 및 `socat`을 설치하고, 배포판의 패키지 관리자에서 `ripgrep`을 설치하십시오. macOS에서는 추가 패키지가 필요하지 않습니다. 런타임은 여기서 기본 제공 Seatbelt 샌드박스를 사용합니다.
91 91
92기본적으로 런타임은 네트워크 액세스를 거부하고 쓰기를 작은 기본 제공 런타임 경로 집합으로 제한하므로, Claude Code를 통해 실행하기 전에 구성하십시오. 구성을 `~/.srt-settings.json`에 넣거나 `--settings`로 전달하는 파일에 넣으십시오. 패키지 [README](https://github.com/anthropics/sandbox-runtime)는 구성 스키마를 문서화합니다.92기본적으로 런타임은 네트워크 액세스를 거부하고 쓰기를 작은 기본 제공 런타임 경로 집합으로 제한하므로, Claude Code를 통해 실행하기 전에 구성하십시오. 구성을 `~/.srt-settings.json`에 넣거나 `--settings`로 전달하는 파일에 넣으십시오. 패키지 [README](https://github.com/anthropics/sandbox-runtime)는 구성 스키마를 문서화합니다.
93 93
95 95
96* 프로젝트 디렉터리.96* 프로젝트 디렉터리.
97* Claude Code의 구성 경로 `~/.claude` 및 `~/.claude.json`.97* Claude Code의 구성 경로 `~/.claude` 및 `~/.claude.json`.
98* Claude Code가 런타임 파일을 작성하는 디렉터리. [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)를 설정하지 않은 경우 해당 디렉터리는 다음과 같습니다:98* Claude Code가 런타임 파일을 작성하는 디렉터리. [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)를 설정하지 않은 경우 해당 디렉터리는 다음과 같습니다:
99 * **Linux 및 WSL2**: `/tmp`99 * **Linux 및 WSL2**: `/tmp`
100 * **macOS**: `/private/tmp`. `/tmp`는 이 디렉터리에 대한 심볼릭 링크이며, Seatbelt는 확인된 경로를 검사합니다.100 * **macOS**: `/private/tmp`. `/tmp`는 이 디렉터리에 대한 심볼릭 링크이며, Seatbelt는 확인된 경로를 검사합니다.
101 101
102세션에 필요한 네트워크 도메인을 허용하십시오:102세션에 필요한 네트워크 도메인을 허용하십시오:
103 103
104* `api.anthropic.com`, 또는 구성된 공급자의 엔드포인트. 타사 공급자에서는 `api.anthropic.com`도 유지하십시오: WebFetch 도메인 안전 검사는 `skipWebFetchPreflight: true`를 설정하지 않는 한 기본적으로 여전히 이를 호출합니다.104* `api.anthropic.com`, 또는 구성된 공급자의 엔드포인트. 타사 공급자에서는 `api.anthropic.com`도 유지하십시오: WebFetch 도메인 안전 검사는 `skipWebFetchPreflight: true`를 설정하지 않는 한 기본적으로 여전히 이를 호출합니다.
105* `claude.ai` 및 `platform.claude.com`, [OAuth 로그인 및 토큰 새로고침](/docs/ko/network-config.md#network-access-requirements)에 필요합니다. API 키로 인증된 실행은 이 두 가지를 제거할 수 있습니다.105* `claude.ai` 및 `platform.claude.com`, [OAuth 로그인 및 토큰 새로고침](https://code.claude.com/docs/ko/network-config.md#network-access-requirements)에 필요합니다. API 키로 인증된 실행은 이 두 가지를 제거할 수 있습니다.
106 106
107Linux 및 WSL2에서 런타임은 이미 존재하는 경로에만 쓰기 권한을 적용합니다. 새로운 환경에서는 첫 번째 시작 전에 Claude Code의 구성 경로를 만드십시오:107Linux 및 WSL2에서 런타임은 이미 존재하는 경로에만 쓰기 권한을 적용합니다. 새로운 환경에서는 첫 번째 시작 전에 Claude Code의 구성 경로를 만드십시오:
108 108
145 145
146개발 컨테이너는 VS Code 또는 호환 가능한 편집기가 관리하는 Docker 컨테이너 내에서 Claude Code를 실행하며 프로젝트가 마운트됩니다. 저장소의 `.devcontainer/` 디렉토리로 자신의 것을 정의할 수 있습니다.146개발 컨테이너는 VS Code 또는 호환 가능한 편집기가 관리하는 Docker 컨테이너 내에서 Claude Code를 실행하며 프로젝트가 마운트됩니다. 저장소의 `.devcontainer/` 디렉토리로 자신의 것을 정의할 수 있습니다.
147 147
148claude-code 저장소는 시작점으로 기본 거부 iptables 방화벽이 있는 [예제 개발 컨테이너](/docs/ko/devcontainer.md)를 게시합니다. 저장소에 복사하고 방화벽 허용 목록, 기본 이미지, 고정된 Claude Code 버전을 환경에 맞게 조정하세요. 방화벽이 승인되지 않은 송신을 차단하므로 이와 같은 구성은 무인 작업을 위해 `--dangerously-skip-permissions`로 Claude Code를 실행하는 것을 지원합니다.148claude-code 저장소는 시작점으로 기본 거부 iptables 방화벽이 있는 [예제 개발 컨테이너](https://code.claude.com/docs/ko/devcontainer.md)를 게시합니다. 저장소에 복사하고 방화벽 허용 목록, 기본 이미지, 고정된 Claude Code 버전을 환경에 맞게 조정하세요. 방화벽이 승인되지 않은 송신을 차단하므로 이와 같은 구성은 무인 작업을 위해 `--dangerously-skip-permissions`로 Claude Code를 실행하는 것을 지원합니다.
149 149
150## 사용자 정의 컨테이너150## 사용자 정의 컨테이너
151 151
153 153
154여러 관리형 샌드박스 및 원격 실행 서비스가 컨테이너를 호스팅할 수 있습니다. 운영하는 모든 컨테이너에 동일한 체크리스트가 적용됩니다: 쓰기 가능하게 마운트된 항목, 내부에서 도달 가능한 자격 증명 및 토큰, 네트워크 송신 정책이 허용하는 항목을 검토하세요.154여러 관리형 샌드박스 및 원격 실행 서비스가 컨테이너를 호스팅할 수 있습니다. 운영하는 모든 컨테이너에 동일한 체크리스트가 적용됩니다: 쓰기 가능하게 마운트된 항목, 내부에서 도달 가능한 자격 증명 및 토큰, 네트워크 송신 정책이 허용하는 항목을 검토하세요.
155 155
156명령별 제한을 위해 컨테이너 내에서 기본 제공 Bash 샌드박스를 계층화할 수 있습니다. 권한 없는 컨테이너에는 [컨테이너 내에서 Bubblewrap이 시작되지 않는 경우](/docs/ko/sandboxing.md#bubblewrap-fails-to-start-inside-a-container)에 설명된 `enableWeakerNestedSandbox`가 필요합니다.156명령별 제한을 위해 컨테이너 내에서 기본 제공 Bash 샌드박스를 계층화할 수 있습니다. 권한 없는 컨테이너에는 [컨테이너 내에서 Bubblewrap이 시작되지 않는 경우](https://code.claude.com/docs/ko/sandboxing.md#bubblewrap-fails-to-start-inside-a-container)에 설명된 `enableWeakerNestedSandbox`가 필요합니다.
157 157
158## 가상 머신158## 가상 머신
159 159
163 163
164## 클라우드 세션164## 클라우드 세션
165 165
166[클라우드 세션](/docs/ko/claude-code-on-the-web.md)은 격리된 Anthropic 관리 가상 머신에서 실행됩니다. 네트워크 프록시는 기본 허용 목록을 적용하고 별도의 프록시는 GitHub 토큰을 샌드박스 외부에 보관하면서 내부에서 저장소 접근을 위한 범위가 지정된 자격 증명을 발급합니다. 조직이 [자체 호스팅 환경](/docs/ko/self-hosted-environments)으로 라우팅하는 세션은 대신 사용자가 프로비저닝한 인프라에서 실행되며, 여기서 격리, 송신 제어 및 git 자격 증명은 배포의 책임입니다.166[클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)은 격리된 Anthropic 관리 가상 머신에서 실행됩니다. 네트워크 프록시는 기본 허용 목록을 적용하고 별도의 프록시는 GitHub 토큰을 샌드박스 외부에 보관하면서 내부에서 저장소 접근을 위한 범위가 지정된 자격 증명을 발급합니다. 조직이 [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments)으로 라우팅하는 세션은 대신 사용자가 프로비저닝한 인프라에서 실행되며, 여기서 격리, 송신 제어 및 git 자격 증명은 배포의 책임입니다.
167 167
168인프라를 직접 프로비저닝하지 않고 전체 VM 격리를 원하거나 로컬 개발 환경이 없는 장치에서 작업을 위임할 때 이 방식을 사용합니다. Claude 구독이 필요합니다. CLI에서 시작하지 않는 한 샌드박스가 저장소를 복제할 수 있도록 연결된 GitHub 계정도 필요합니다. `--cloud`를 사용하여 CLI에서 시작할 때 Claude Code는 [로컬 저장소를 번들로 묶어 업로드](/docs/ko/claude-code-on-the-web.md#send-local-repositories-without-github)할 수 있습니다. 계획 가용성 및 GitHub 인증 옵션은 [웹의 Claude Code 사용](/docs/ko/claude-code-on-the-web.md)을 참조하십시오.168인프라를 직접 프로비저닝하지 않고 전체 VM 격리를 원하거나 로컬 개발 환경이 없는 장치에서 작업을 위임할 때 이 방식을 사용합니다. Claude 구독이 필요합니다. CLI에서 시작하지 않는 한 샌드박스가 저장소를 복제할 수 있도록 연결된 GitHub 계정도 필요합니다. `--cloud`를 사용하여 CLI에서 시작할 때 Claude Code는 [로컬 저장소를 번들로 묶어 업로드](https://code.claude.com/docs/ko/claude-code-on-the-web.md#send-local-repositories-without-github)할 수 있습니다. 계획 가용성 및 GitHub 인증 옵션은 [웹의 Claude Code 사용](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 참조하십시오.
169 169
170## 조직 전체 격리 적용170## 조직 전체 격리 적용
171 171
172개별 개발자는 이 페이지의 모든 샌드박싱 방식을 선택할 수 있습니다. 조직이 적용할 수 있는 항목과 어떤 도구로 적용할 수 있는지는 방식에 따라 다릅니다:172개별 개발자는 이 페이지의 모든 샌드박싱 방식을 선택할 수 있습니다. 조직이 적용할 수 있는 항목과 어떤 도구로 적용할 수 있는지는 방식에 따라 다릅니다:
173 173
174* **기본 제공 Bash 샌드박스**: Claude Code가 자체적으로 적용하는 유일한 방식입니다. [관리형 설정](/docs/ko/managed-settings.md#delivery-mechanisms)을 통해 `sandbox` 설정 키를 전달하세요. MDM에서 관리하는 파일 또는 Claude.ai의 [서버 관리 설정](/docs/ko/server-managed-settings.md)을 통해 전달하세요. 배포할 키 및 개발자가 정책을 확대하지 못하도록 하는 방법은 [관리형 설정으로 샌드박싱 적용](/docs/ko/sandboxing.md#enforce-sandboxing-with-managed-settings)을 참조하세요.174* **기본 제공 Bash 샌드박스**: Claude Code가 자체적으로 적용하는 유일한 방식입니다. [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)을 통해 `sandbox` 설정 키를 전달하세요. MDM에서 관리하는 파일 또는 Claude.ai의 [서버 관리 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 통해 전달하세요. 배포할 키 및 개발자가 정책을 확대하지 못하도록 하는 방법은 [관리형 설정으로 샌드박싱 적용](https://code.claude.com/docs/ko/sandboxing.md#enforce-sandboxing-with-managed-settings)을 참조하세요.
175* **개발 컨테이너**: [예제 개발 컨테이너](/docs/ko/devcontainer.md)를 저장소에 커밋하여 팀 전체에서 환경을 표준화하세요. Claude Code가 컨테이너를 요구하지 않으므로 이는 적용 경계가 아닌 규칙입니다. 개발자가 Claude Code를 외부에서 실행할 수 없어야 하는 경우 조직의 장치 관리 또는 소프트웨어 허용 목록 도구로 적용하세요.175* **개발 컨테이너**: [예제 개발 컨테이너](https://code.claude.com/docs/ko/devcontainer.md)를 저장소에 커밋하여 팀 전체에서 환경을 표준화하세요. Claude Code가 컨테이너를 요구하지 않으므로 이는 적용 경계가 아닌 규칙입니다. 개발자가 Claude Code를 외부에서 실행할 수 없어야 하는 경우 조직의 장치 관리 또는 소프트웨어 허용 목록 도구로 적용하세요.
176* **사용자 정의 컨테이너 및 VM**: 승인된 이미지를 통해 Claude Code를 배포하고 조직의 장치 관리 또는 소프트웨어 허용 목록 도구를 사용하여 외부 설치를 방지하세요.176* **사용자 정의 컨테이너 및 VM**: 승인된 이미지를 통해 Claude Code를 배포하고 조직의 장치 관리 또는 소프트웨어 허용 목록 도구를 사용하여 외부 설치를 방지하세요.
177 177
178## 참고 항목178## 참고 항목
179 179
180이 페이지들은 위의 방식에 대한 구성 및 정책 세부 정보를 다룹니다.180이 페이지들은 위의 방식에 대한 구성 및 정책 세부 정보를 다룹니다.
181 181
182* [샌드박싱](/docs/ko/sandboxing.md): 기본 제공 샌드박스 Bash 도구 구성182* [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md): 기본 제공 샌드박스 Bash 도구 구성
183* [개발 컨테이너](/docs/ko/devcontainer.md): 사전 구성된 Docker 개발 컨테이너183* [개발 컨테이너](https://code.claude.com/docs/ko/devcontainer.md): 사전 구성된 Docker 개발 컨테이너
184* [보안](/docs/ko/security.md): 전체 Claude Code 보안 모델184* [보안](https://code.claude.com/docs/ko/security.md): 전체 Claude Code 보안 모델
185* [안전한 배포](/docs/ko/agent-sdk/secure-deployment.md): Agent SDK 애플리케이션을 위한 격리 지침185* [안전한 배포](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md): Agent SDK 애플리케이션을 위한 격리 지침
186* [설정](/docs/ko/settings-reference.md#sandbox-settings): 관리형 설정 전달을 포함한 모든 샌드박스 구성 키186* [설정](https://code.claude.com/docs/ko/settings-reference.md#sandbox-settings): 관리형 설정 전달을 포함한 모든 샌드박스 구성 키