{"meta":{"title":"도구 사용 허용 및 거부","intro":"의도하지 않은 변경을 방지하는 데 사용할 수 있는 도구를 Copilot CLI 제어합니다.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ko/copilot","title":"GitHub Copilot"},{"href":"/ko/copilot/how-tos","title":"방법"},{"href":"/ko/copilot/how-tos/copilot-cli","title":"Copilot CLI"},{"href":"/ko/copilot/how-tos/copilot-cli/use-copilot-cli","title":"Copilot CLI 사용"},{"href":"/ko/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools","title":"도구 허용"}],"documentType":"article"},"body":"# 도구 사용 허용 및 거부\n\n의도하지 않은 변경을 방지하는 데 사용할 수 있는 도구를 Copilot CLI 제어합니다.\n\n## 소개\n\nCopilot CLI 는 다양한 도구를 사용하여 작업을 완료합니다. 셸 명령을 실행하고, 파일을 읽고 쓰고, 코드베이스를 검색하고, 웹 콘텐츠를 가져오고, 작업을 특수 하위 에이전트에 위임할 수 있습니다.\n\n파일 검색, 파일 읽기 및 읽기 전용 셸 명령 실행과 같은 읽기 전용 작업은 자동으로 허용되지만 파괴적인 셸 명령 실행, 파일 편집 또는 URL 액세스와 같이 시스템을 수정할 수 있는 도구는 사용하려면 Copilot 명시적 승인이 필요합니다. 예를 들어 셸 명령은 패키지 설치, 파일 삭제, 코드 푸시 또는 네트워크 요청 등 사용자 계정에서 수행할 수 있는 모든 작업을 수행할 수 있으므로 CLI를 사용하지 않아도 됩니다.\n\nCLI를 시작할 때 또는 대화형 세션 중에 도구에 대한 사용 권한을 허용하거나 거부할 수 있습니다. 세션을 Copilot CLI 시작하기 전에 권한을 부여하지 않은 경우 잠재적으로 파괴적인 작업을 수행해야 할 때마다 사용 권한을 묻는 메시지가 표시됩니다. 이 도구를 한 번 또는 세션의 나머지 부분에 대해 허용하도록 선택할 수 있습니다.\n\n## 지속형 권한\n\n일부 프롬프트 옵션은 다시 묻지 않도록 동의를 저장합니다. 승인이 저장되는 위치는 승인한 내용에 따라 달라집니다.\n\n현재 위치에 대한 도구를 승인하면 승인이 구성 디렉터리에 저장 `permissions-config.json` 됩니다. 기본적으로 이 파일은 .입니다 `~/.copilot/permissions-config.json`. 예를 들어 셸 명령, 파일 쓰기, MCP 도구 또는 메모리 업데이트에 대해 \"이 리포지토리에서 다시 묻지 않음\"(또는 \"이 디렉터리에서\")을 선택할 수 있습니다. 승인 범위는 현재 위치(Git 리포지토리 루트 또는 리포지토리에 없는 경우 작업 디렉터리)로 범위가 지정됩니다. 액세스 권한을 부여하는 모든 디렉터리도 동일한 파일에 저장됩니다.\n\nURL 승인은 다르게 작동합니다. URL을 영구적으로 승인하면 해당 도메인이 사용자의 `allowedUrls`목록에 추가 `settings.json` 됩니다. 기본적으로 이 파일은 .입니다 `~/.copilot/settings.json`. 이 승인은 단일 위치에 연결되지 않고 모든 세션에 적용됩니다.\n\n`--allow-tool` 및 `--deny-tool` 같은 명령줄 옵션은 현재 세션에만 적용되며 `permissions-config.json`에 기록되지 않습니다. 거부 규칙은 여전히 저장된 승인보다 우선합니다.\n\n저장된 승인이 저장되는 위치, 위치 일치 방법 및 전체 `permissions-config.json` 스키마에 대한 자세한 내용은 [GITHUB COPILOT CLI 구성 디렉터리](/ko/copilot/reference/copilot-cli-reference/cli-config-dir-reference#permissions-configjson)을 참조하세요.\n\n## 도구 컨트롤의 레이어\n\n명령줄 옵션에서 도구 권한을 지정할 때 사용할 수 있는 두 가지 컨트롤 계층이 있습니다. 당신은 할 수 있어요:\n\n* AI 모델에 사용할 수 있는 도구의 선택을 제한합니다.\n* 특정 도구에 대한 사용 권한을 허용하거나 거부합니다.\n\n## AI 모델에 사용할 수 있는 도구 선택 제한\n\n`--available-tools` 및 `--excluded-tools` 옵션은 AI 모델이 알고 있는 도구 집합을 제한하므로 작업을 완료하는 방법을 결정할 때 선택할 수 있습니다.\n\n* `--available-tools` 은 지정한 도구 이외의 모든 도구를 사용하지 않도록 설정합니다.\n* `--excluded-tools` 는 지정된 도구만 사용하지 않도록 설정합니다.\n\n두 옵션을 함께 사용하는 경우 CLI는 지정된 `--available-tools` 허용 목록을 적용하고 지정한 거부 목록을 `--excluded-tools`무시합니다.\n\n도구가 사용 가능한 집합에 없는 경우 옵션으로 `--allow-tool` 지정하더라도 AI 모델은 도구를 전혀 사용할 수 없습니다. 사용 가능한 도구 집합을 지정하지 않는 대화형 세션에서 AI 모델은 거부될 때만 도구를 사용하려고 할 수 있습니다.\n`--available-tools` 및 `--excluded-tools` 옵션을 사용하면 이러한 방식으로 모델과의 상호 작용을 낭비할 수 없습니다.\n\n### 예제 사용 사례\n\n프로젝트에서 벤치마킹을 실행하기 위해 CLI 세션을 시작하고 있으며, AI 모델이 웹 검색을 사용하지 않도록 하려고 합니다.\n\n```bash\ncopilot --excluded-tools='web_fetch, web_search'\n```\n\n> \\[!NOTE]\n> 이 문서에 언급된 이러한 명령줄 및 기타 명령줄 옵션에 대한 구문에 대한 자세한 내용은 [GitHub Copilot CLI 명령 참조](/ko/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)을 참조하세요.\n\n## 특정 도구에 대한 사용 권한 허용 또는 거부\n\n`--allow-tool` 및 `--deny-tool` 옵션은 특정 도구 또는 도구 하위 명령에 대한 사용 권한을 허용하거나 거부합니다.\n\n이러한 각 옵션의 값은 쉼표로 구분된 도구 종류 목록으로, 선택적으로 정확한 도구 및 하위 명령 패턴을 지정할 수 있습니다.\n\n도구를 `--allow-tool`지정하는 경우 AI 모델은 사용 권한을 요청하지 않고 해당 도구를 사용하도록 선택할 수 있습니다. 도구를 `--deny-tool`사용하여 지정하는 경우 AI 모델은 작업을 완료하는 데 가장 적합한 선택인 경우에도 해당 도구를 전혀 사용할 수 없습니다.\n\n거부 규칙은 설정되거나 일치하는 승인이 저장된 `--allow-all`경우에도 `permissions-config.json` 항상 허용 규칙보다 우선합니다.\n\n### 예제\n\n| Option                                                                                                   | 영향                                     |\n| -------------------------------------------------------------------------------------------------------- | -------------------------------------- |\n| `--allow-tool=shell`                                                                                     | 모든 셸 명령을 허용합니다.                        |\n| `--allow-tool='shell(git commit)'`                                                                       |                                        |\n| `git commit` 명령을 허용합니다.                                                                                  |                                        |\n| `--allow-tool='shell(git:*)' --deny-tool='shell(git push)'`                                              |                                        |\n| `git` 명령을 제외한 모든 `git push` 명령을 허용합니다.                                                                   |                                        |\n| `--deny-tool=write`                                                                                      | 모든 파일 쓰기 작업을 거부합니다.                    |\n| `--allow-tool='read, write(.github/copilot-instructions.md)'`                                            | 모든 읽기 작업을 허용하고 특정 파일에 대한 쓰기 작업을 허용합니다. |\n| `--allow-tool='MyMCP(create_issue), MyMCP(delete_issue)'`                                                |                                        |\n| `create_issue` MCP 서버의 `delete_issue` 도구와 `MyMCP` 도구를 허용합니다.                                             |                                        |\n| `--available-tools='bash,edit,view,grep,glob' --allow-tool='shell(git:*)' --deny-tool='shell(git push)'` | 제한된 CLI 세션에 대해 두 컨트롤 계층을 결합합니다.        |\n| Copilot 에서는 코드를 탐색하고, 편집하고, 변경 내용을 커밋할 수 있지만 인터넷에 연결하거나, 임의의 스바겐트를 실행하거나, Git 기록에 푸시할 수 없습니다.            |                                        |\n\n지원되는 도구 종류에 대한 자세한 내용은 [GitHub Copilot CLI 명령 참조](/ko/copilot/reference/copilot-cli-reference/cli-command-reference#tool-permission-patterns)을 참조하세요.\n\n## 허용 옵션\n\n다음 명령줄 옵션은 Copilot CLI에 모든 사용 가능한 도구를 사용할 수 있는 권한을 부여합니다.\n\nCopilot Business 또는 Copilot Enterprise 라이선스를 보유하고 있는 경우, 엔터프라이즈 관리자가 이러한 명령을 차단할 수 있습니다.\n\n모든 허용 옵션을 사용하여 광범위한 권한을 부여 Copilot 하기 전에 로컬 샌드박싱을 사용하거나 클라우드 샌드박스에서 세션을 실행하여 액세스할 수 있는 항목을 제한하는 것이 Copilot 좋습니다. 자세한 내용은 [클라우드 및 로컬 샌드박스 정보 GitHub Copilot](/ko/copilot/concepts/about-cloud-and-local-sandboxes)을(를) 참조하세요.\n\n* `--allow-all-tools` — 사용 가능한 도구에 대한 모든 권한.\n\n* `--allow-all`  또는 `--yolo` - CLI를 시작할 때 모든 `--allow-all-tools`, `--allow-all-paths`및 `--allow-all-urls` 옵션을 사용하는 것과 같습니다.\n\n  대화형 세션 내에서 `/allow-all` 또는 `/yolo` 슬래시 명령을 사용하여 세션을 다시 시작하지 않고도 모든 도구를 사용할 수 있습니다.\n\n> \\[!CAUTION]\n> 격리된 환경에서만 이러한 옵션을 사용하는 것이 좋습니다.\n> Copilot CLI를 시작할 때마다 별칭을 사용하여 이러한 옵션 중 하나를 적용해서는 안 됩니다. 그렇게 하면 CLI를 사용할 때마다 명시적 권한 없이 Copilot를 사용할 수 있게 되어, 의도하지 않은 결과가 발생할 수 있습니다.\n\n## 권한 다시 설정\n\n`/reset-allowed-tools` 슬래시 명령은 현재 대화형 세션 중에 부여한 모든 권한을 취소합니다. 이는 프롬프트에 응답하여 부여한 사용 권한과 또는 `/allow-all` 슬래시 명령의 `/yolo` 사용에 동일하게 적용됩니다.\n\n사용 `/reset-allowed-tools`는 권한을 기본값으로 다시 설정하거나, Copilot CLI를 시작할 때 사용한 명령줄 옵션에 의해 정의된 상태로 되돌립니다. 또한 현재 위치의 저장된 도구 승인을 `permissions-config.json`에서 지웁니다. 예를 들어 옵션Copilot CLI으로 대화형 세션을 시작한 `--allow-tool='shell(git:*)'` 다음 프롬프트에 응답하여 세션 중에 추가 권한을 허용하고 거부하는 경우 명령을 사용하면 `/reset-allowed-tools` CLI의 사용 권한은 허용되거나 거부된 다른 권한 없이 원래 `--allow-tool='shell(git:*)'` 상태로 돌아갑니다. 세션에서 작업을 계속하면 Copilot에 추가 권한이 필요한 경우 메시지가 다시 표시됩니다.\n\n다른 위치에 대해 저장된 승인을 제거하려면 .에서 `permissions-config.json`관련 위치 항목을 편집하거나 삭제합니다. 자세한 내용은 [GITHUB COPILOT CLI 구성 디렉터리](/ko/copilot/reference/copilot-cli-reference/cli-config-dir-reference#permissions-configjson)을(를) 참조하세요.\n\n## 추가 읽기\n\n* [GitHub Copilot CLI에 대한 모범 사례](/ko/copilot/how-tos/copilot-cli/cli-best-practices#configure-allowed-tools)\n* [GitHub Copilot CLI 명령 참조](/ko/copilot/reference/copilot-cli-reference/cli-command-reference)\n* [GITHUB COPILOT CLI 구성 디렉터리](/ko/copilot/reference/copilot-cli-reference/cli-config-dir-reference#permissions-configjson)"}