이 참조를 통해 managed-settings.json에서 현재 지원되는 키를 이해하세요.
배포 방법 및 지원되는 클라이언트는 엔터프라이즈 관리 설정 구성을 참조하세요.
우선 순위 규칙
여러 설정 원본이 있는 경우 이 목록의 앞부분에 있는 설정이 목록의 뒷부분에 있는 설정보다 우선합니다.
- MDM 관리 설정
- 서버 관리 설정
- 파일 기반 설정
- 사용자 수준 설정
코파일럿 CLI 에서 sandbox키는 이러한 우선 순위 규칙의 예외입니다. MDM 관리형, 서버 관리 및 파일 기반 설정의 관리되는 샌드박스 제한은 서로 결합되고 가장 제한적인 방향으로 사용자의 샌드박스 설정과 결합됩니다.
지원되는 키
| Key | Purpose | 코파일럿 CLI | VS Code | GitHub Copilot 앱 | Copilot 클라우드 에이전트 |
|---|---|---|---|---|---|
permissions.disable | 바이패스 또는 YOLO 스타일의 모두 허용 동작을 비활성화합니다 | ||||
permissions.model | 자동 모델 선택을 새 대화의 기본값으로 설정 | ||||
enabledPlugins | 키별 특정 플러그 인 사용 또는 사용 안 함 | ||||
extra | 사용자가 액세스할 수 있는 플러그 인 마켓플레이스 추가 | ||||
strict | 플러그 인 설치를 명시적으로 나열된 마켓플레이스로 제한 | ||||
telemetry | 선택한 수집기로 사용량 현황 데이터를 라우팅하여 Copilot OpenTelemetry 내보내기를 구성합니다. | ||||
remoteControl | 나열된 조직에 대한 제어 클라이언트의 SSO 권한 부여 상태에 따라 이 디바이스에서 호스트되는 세션을 원격으로 제어할 수 있는지 여부를 제한합니다. 다른 디바이스에서 호스트되는 세션을 원격으로 제어하는 사용자의 기능에 영향을 주지 않습니다. | ||||
allowedMcpServers | 실행할 수 있는 MCP 서버의 허용 목록을 정의합니다. 일치하지 않는 모든 서버가 차단됩니다. 거부 규칙에 따라 모든 서버를 허용하지 않습니다. | ||||
deniedMcpServers | 의 항목과 일치하더라도 무조건 차단되는 MCP 서버를 정의합니다. allowedMcpServers | ||||
sandbox | 명령 실행, 파일 시스템 및 네트워크 액세스, 자격 증명, 로컬 MCP 및 LSP 서버에 대한 최소 로컬 샌드박스 제한 적용 |
엔터프라이즈 팀에 다른 설정 적용
서버 관리형 배포의 경우 엔터프라이즈는 엔터프라이즈 팀 멤버 자격에 따라 사용자 그룹에 서로 다른 거버넌스를 적용할 수 있습니다. 엔터프라이즈는 모든 설정을 정의합니다. 팀 멤버 자격은 지정된 값 집합을 받는 사용자만 결정합니다.
팀별 값에 적합한 키를 만들려면 구문을 사용할 managed-settings.json 때 { "overridable": <VALUE> } 키를 재정의 가능한 키로 표시합니다. 재정의 가능한 키는 설정된 경우 팀의 값을 사용하거나, 팀이 설정되지 않은 상태로 두면 엔터프라이즈 기본값으로 대체됩니다. 구문은 { "overridable": <VALUE> } , permissions.disableBypassPermissionsMode및 allowedMcpServers``deniedMcpServers 키에 permissions.model적용됩니다. 재정의 가능으로 표시되지 않은 키는 팀에서 수정할 수 없는 엔터프라이즈 수준의 결정으로 남아 있습니다.
enabledPlugins 가 extraKnownMarketplaces 산적으로 작업합니다. 엔터프라이즈 managed-settings.json 는 기준을 설정하고 엔터프라이즈 팀 파일은 플러그 인과 마켓플레이스를 더 추가할 수 있습니다. 전체 설정 단계는 엔터프라이즈 관리 설정 구성을 참조하세요.
구성 예
다음 예제에서는 관리되는 하나의 설정 파일에서 이러한 키를 보여 냅니다.
{
"permissions": {
"disableBypassPermissionsMode": "disable",
"model": "auto"
},
"enabledPlugins": {
"my-plugin@agent-skills": true
},
"extraKnownMarketplaces": {
"agent-skills": {
"source": {
"source": "github",
"repo": "OWNER/REPO"
}
}
},
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "OWNER/REPO"
}
],
"telemetry": {
"enabled": true,
"endpoint": "https://otel-collector.example.com",
"protocol": "http/protobuf",
"captureContent": false,
"lockCaptureContent": true,
"serviceName": "copilot",
"resourceAttributes": {
"deployment.environment": "production"
},
"headers": {
"Authorization": "Bearer TOKEN"
}
},
"remoteControl": {
"mode": "requireSSO",
"githubDotComOrganizations": ["ORG-NAME"]
},
"allowedMcpServers": [
{ "serverUrl": "https://api.githubcopilot.com/*" },
{ "serverCommand": ["npx", "@playwright/mcp@latest"] },
{ "serverCommand": ["cmd", "/c", "uvx", "markitdown-mcp"] }
],
"deniedMcpServers": [
{ "serverUrl": "https://learn.microsoft.com/*" }
],
"sandbox": {
"enabled": true,
"allowBypass": false,
"sandboxMcpServers": true,
"sandboxLspServers": true
}
}
enabledPlugins
모든 엔터프라이즈 사용자에 대해 자동으로 설치되거나 차단되는 플러그 인을 정의합니다. 각 항목은 PLUGIN-NAME@MARKETPLACE-NAME를 키로 사용하는 형식이며, 불리언 값으로 true는 플러그인이 활성화되어 있어야 함을, false는 비활성화되어 있어야 함을 나타냅니다.
엔터프라이즈 관리 플러그 인 표준 정보을(를) 참조하세요.
extraKnownMarketplaces
사용자가 사용할 수 있는 추가 플러그 인 마켓플레이스를 정의합니다. 각 항목은 source 속성을 포함하는 이름이 지정된 마켓플레이스 개체입니다. 지원되는 원본 유형은 다음과 같습니다.
"github"—repo형식의OWNER/REPO이 필요합니다. 선택 사항:ref(브랜치, 태그 또는 SHA) 및path(하위 디렉터리)"git"—url필요;ref및path선택 사항"directory"—path필요
엔터프라이즈 관리 플러그 인 표준 정보을(를) 참조하세요.
strictKnownMarketplaces
플러그 인 설치를 엔터프라이즈에서 명시적으로 정의한 마켓플레이스로만 제한합니다. 빈 배열은 전체 잠금을 의미합니다. 각 항목은 원본 형식을 나타내는 속성이 있는 source Marketplace 개체입니다. 지원되는 원본 유형은 다음과 같습니다.
"github"—repo형식의OWNER/REPO이(가) 필요합니다.ref및path는 선택 사항입니다."git"—url필요;ref및path선택 사항"url"—url필요; 선택 사항headers개체"npm"—package필요"file"—path필요"directory"—path필요"hostPattern"— 필요함hostPattern(정규식과 일치하는 마켓플레이스 호스트)"pathPattern"— 필요함pathPattern(마켓플레이스 경로와 일치하는 정규식)
permissions
disableBypassPermissionsMode
사용자가 바이패스 모드("YOLO 모드"라고도 함)를 사용하도록 설정하지 못하도록 합니다. 바이패스 모드를 사용하면 에이전트가 승인을 요청하지 않고 명령을 실행하고, 파일에 액세스하고, URL을 가져올 수 있습니다.
disableBypassPermissionsMode을(를) "disable"(으)로 설정하면 사용자는 바이패스 모드를 켤 수 없습니다:
- 에서 코파일럿 CLI모든 권한(
--yolo및--allow-all개별--allow-all-tools``--allow-all-paths``--allow-all-urls및 옵션)을 허용하기 위한 모든 명령줄 옵션은 시작 시 표시되지 않으며 상승된 권한을 부여할 수 없습니다./yolo및/allow-all슬래시 명령도 차단됩니다. - 에서 VS Code전역 자동 승인 설정(
chat.tools.global.autoApprove)이 해제되어 다시 사용하도록 설정할 수 없습니다. - 에서 GitHub Copilot 앱"도구 사용 권한"에 대한 "모두 허용" 설정이 세션 설정에서 차단됩니다.
- 이 키는 엔터프라이즈 팀 매핑으로 재정의할 수 있습니다. 구
managed-settings.json문을 사용하여{ "overridable": "disable" }팀별로 키의 구성을 특수화합니다. 그런 다음 팀 설정 파일에서 설정"disableBypassPermissionsMode": "unmanaged"하여 주체 팀의 구성원보다managed-settings.json우선하는 특수화를 제공할 수 있습니다.
모델
자동 모델 선택을 새 대화의 기본값으로 설정합니다. 정보 Copilot자동 모델 선택을(를) 참조하세요.
- 설정
permissions.model``"auto"하면 사용자가 대화별로 다른 모델을 지정하지 않는 한 새 세션에서 자동 모델을 사용합니다. - 이 키는 엔터프라이즈 팀 매핑으로 재정의할 수 있습니다. 구
managed-settings.json문을 사용하여{ "overridable": "auto" }팀별로 키의 구성을 특수화합니다. 그런 다음 팀 설정 파일에서 설정"model": "unmanaged"하여 주체 팀의 구성원보다managed-settings.json우선하는 특수화를 제공할 수 있습니다.
원격 측정
선택한 수집기로 사용량 현황 데이터를 라우팅하여 Copilot OpenTelemetry 내보내기를 구성합니다.
이 속성은 코파일럿 CLI 및 VS Code에서 지원됩니다.
telemetry 속성을 설정하면 Copilot 원격 분석 데이터가 사용자가 지정한 엔드포인트로 전송됩니다. 지원되는 하위 속성은 다음과 같습니다.
enabled: 원격 분석 내보내기를true켜거나false해제하도록 설정합니다.endpoint: OTLP 수집기의 URL(예:https://otel-collector.example.com)입니다.protocol: 원격 분석 내보내기를 위한 전송 프로토콜입니다. 허용되는 값은"http/json"및"http/protobuf"입니다.captureContent: 원격 분석 페이로드에 프롬프트 및 응답 콘텐츠를 포함하거나true제외하도록 설정합니다false.lockCaptureContent: 사용자가true설정을 변경하지 못하도록 하려면captureContent로 설정합니다.serviceName: 원격 분석 서비스 이름(예:"copilot")에 대한 레이블입니다.resourceAttributes: 내보낸 모든 텔레메트리에 추가할 OpenTelemetry 리소스 특성 객체입니다(예:{"deployment.environment": "production"}).headers: 각 텔레메트리 요청에 포함할 HTTP 헤더 객체입니다(예: 수집기용Authorization헤더).
remoteControl
디바이스에서 호스트되는 세션을 원격으로 제어할 수 있는지 여부를 Copilot 제한합니다. 이는 다른 디바이스에서 호스트되는 세션을 원격으로 제어하는 사용자의 기능에 영향을 주지 않습니다.
mode: 디바이스에서 세션의 원격 제어를 방지하거나"disabled", 나열된"requireSSO"조직에 대해 SSO 권한이 부여된 클라이언트의 원격 제어만 허용하거나githubDotComOrganizations, 제한 없이 허용"enabled"하도록 설정됩니다.githubDotComOrganizations: 조직 로그인의 배열입니다.mode이"requireSSO"인 경우 필요합니다.
allowedMcpServers
실행할 수 있는 MCP 서버의 허용 목록을 정의합니다. 설정하면 하나 이상의 항목과 일치하는 서버만 허용됩니다. 일치하지 않는 모든 서버가 차단됩니다.
에 있는 모든 항목에 따라 모든 서버를 허용하도록 이 키를 완전히 생략합니다 deniedMcpServers. 기본 제공 서버를 제외한 모든 서버를 차단하려면 빈 배열로 설정합니다.
여러 설정 원본이 정의 allowedMcpServers할 때 유효 허용 목록은 모든 원본의 교집합입니다. 모든 원본에서 서버를 실행할 수 있어야 합니다.
각 항목에는 정확히 하나의 선택기 속성이 포함되어야 합니다.
| 재산 | 일치 동작 | 적용 가능한 서버 |
|---|---|---|
serverName | 사용자 할당 서버 레이블과 정확히 일치합니다. 와일드카드는 지원되지 않습니다. 사용자가 서버 이름을 선택하기 때문에 서버의 ID를 적용해야 하는 경우를 serverCommand 사용합니다serverUrl. | 모든 서버. 메모리 내 서버에서만 사용할 serverName수 있습니다. |
serverUrl | 원격 서버 URL과 일치합니다. | |
* 하위 도메인 또는 경로 접두사(예 https:/: | HTTP 또는 SSE(서버 전송 이벤트)를 통해 연결하는 원격 서버입니다. URL이 있더라도 이 속성은 로컬 서버에 적용되지 않습니다. | |
serverCommand | 로컬 서버에 대한 정확한 명령 및 각 인수와 일치합니다(예: ["npx", "-y", "my-mcp-server"].). 와일드카드 및 명령줄 확장은 지원되지 않습니다. | 표준 입력 및 출력(stdio)을 사용하는 로컬 서버입니다. 이 속성은 명령이 있더라도 원격 서버에는 적용되지 않습니다. |
이 키는 엔터프라이즈 팀에서 재정의할 수 있습니다. 엔터프라이즈 수준에서 검사기 개체 overridable 를 래핑한 다음, 일반 구문을 사용하여 각 팀의 파일에서 허용 목록 및 거부 목록을 정의합니다.
URL 정식화
패턴을 서버 URL과 비교 serverUrl 하기 전에 클라이언트는 두 값을 모두 정규화합니다.
- 스키마 및 호스트를 소문자로 변환합니다.
- 국제화된 호스트 또는 유니코드 호스트 이름을 Punycode로 변환합니다.
- HTTP 또는
:443HTTPS에 대한 기본 포트:80를 제거합니다. - 백분율로 인코딩된 호스트 옥텟을 디코딩합니다. 예를 들어
%65vil는evil로 변합니다. - DNS 이름에서 URL 조각 및 후행 점을 제거합니다.
- 권한 구성 요소의 와일드카드가 경계를 넘어
/경로로 일치하지 않도록 합니다.
deniedMcpServers
무조건 차단되는 MCP 서버를 정의합니다. 모든 항목과 일치하는 서버는 항목과 일치하는 경우에도 차단됩니다 allowedMcpServers. 거부 규칙은 항상 허용 규칙보다 우선합니다.
기본 제공 Copilot MCP 서버와 같은 자사 GitHub 서버는 거부 규칙에서 제외되며 차단할 수 없습니다.
여러 설정 원본이 정의 deniedMcpServers할 때 유효한 거부 목록은 모든 원본의 공용 구조체입니다. 모든 원본에 의해 차단된 서버는 모두 차단됩니다.
각 항목은 동일한 serverName또는 serverUrl``serverCommand 에 설명된 allowedMcpServers속성을 사용합니다.
sandbox
에 대한 최소 로컬 샌드박스 제한을 적용합니다 코파일럿 CLI. 관리되는 샌드박스 설정은 기본값이 아닌 제한을 적용합니다.
- 강제 켜기 설정의 경우 관리되는 값이
true설정을 적용합니다.false또는 생략하면 사용자의 구성이 변경되지 않습니다. - 기능 설정의 경우 관리되는 값은
false기능을 금지합니다.true또는 생략하면 사용자의 구성이 변경되지 않습니다. - 관리되는 읽기/쓰기 및 읽기 전용 경로 목록은 사용자 구성 부여를 제한하지만 관리되는 거부 경로는 사용자 구성 거부에 추가됩니다.
지원되는 하위 속성은 다음과 같습니다.
enabled:true샌드박싱이 필요하고 사용자가 샌드박싱을 사용하지 않도록 설정합니다.allowBypass:false개별 명령이 샌드박스 외부에서 실행되도록 모델에서 요청하지 않도록 합니다.addCurrentWorkingDirectoryfalse: 코파일럿 CLI 샌드박스의 읽기/쓰기 경로에 현재 작업 디렉터리를 자동으로 추가할 수 없습니다.sandboxMcpServers:true샌드박스에서 실행하기 위해 시작된 코파일럿 CLI 로컬 MCP 서버가 필요합니다. 원격 MCP 서버는 로컬 샌드박스에서 실행되지 않습니다.sandboxLspServers:true샌드박스에서 실행하기 위해 시작한 코파일럿 CLI 언어 서버가 필요합니다.gitAuth:false샌드박스에서 인증된 Git HTTPS 작업에 대한 토큰을 삽입 코파일럿 CLI 할 수 없도록 합니다GitHub.ghAuth:false샌드박스에 토큰 코파일럿 CLI 을 GitHub 삽입할 수 없도록 합니다GitHub CLI.allowDevToolAccess:false개발 도구 구성, 캐시, 레지스트리 및 도구 체인에 대한 자동 액세스를 방지합니다. 이러한 위치에는 패키지 레지스트리 자격 증명 또는 토큰이 포함될 수 있습니다. 액세스를 사용하지 않도록 설정하면 필요한 경로를 명시적으로 부여하지 않으면 패키지 복원, 인증된 레지스트리 작업 또는 공유 캐시를 사용하는 빌드가 실패할 수 있습니다.userPolicy: 파일 시스템, 네트워크 및 macOS 관련 안전 벨트 제한을 구성하는 개체입니다. 지원되는 속성은 다음 섹션에서 설명합니다.
sandbox.userPolicy.filesystem
샌드박스 처리 프로세스에 대한 파일 시스템 액세스를 구성합니다. 경로는 절대 경로여야 합니다. 관리되는 권한 부여 목록은 부모 또는 자식 경로 범위가 아닌 정확한 경로 문자열로 사용자 구성 목록과 일치합니다.
readwritePaths: 샌드박스 처리에서 읽고 쓸 수 있는 경로 배열입니다. 사용자가 구성한 경로는 이 속성을 지정하는 모든 관리되는 원본에도 정확한 문자열이 표시되는 경우에만 사용할 수 있습니다. 빈 관리형 배열은 사용자가 구성한 모든 읽기/쓰기 경로 부여를 제거하지만 임시 디렉터리 또는 현재 작업 디렉터리처럼 별도로 어셈블된 액세스는 제거하지 않습니다.readonlyPaths: 샌드박스 처리에서 읽을 수 있지만 쓸 수 없는 경로의 배열입니다. 사용자가 구성한 경로는 이 속성을 지정하는 모든 관리되는 원본에도 정확한 문자열이 표시되는 경우에만 사용할 수 있습니다. 빈 관리형 배열은 사용자가 구성한 모든 읽기 전용 경로 부여를 제거하지만 별도로 어셈블된 액세스는 제거하지 않습니다.deniedPaths: 샌드박스 처리에서 액세스할 수 없는 경로 배열입니다. 관리되는 값은 사용자의 거부된 경로를 대체하는 대신에 추가됩니다.
sandbox.userPolicy.network
샌드박스 처리 프로세스에 대한 네트워크 액세스를 구성합니다.
allowOutbound:false아웃바운드 네트워크 액세스를 차단합니다.allowLocalNetwork:false로컬 네트워크에 대한 액세스를 차단합니다.
네트워크 동작은 운영 체제에 따라 다릅니다. 특히 일부 애플리케이션은 프록시 설정을 무시할 수 있으므로 프록시는 완전한 송신 제어 경계가 아닙니다.
sandbox.userPolicy.seatbelt
macOS 관련 안전 벨트 옵션을 구성합니다.
keychainAccess:false샌드박스 처리가 macOS 키 집합에 액세스하지 못하도록 합니다.