Используйте эту ссылку для понимания поддерживаемых в настоящее время ключей managed-settings.json.
Сведения о методах развертывания и поддерживаемых клиентах см. в разделе Настройка параметров, управляемых предприятием.
Правила приоритета
При наличии нескольких источников параметров параметры, приведенные выше в этом списке, имеют приоритет над параметрами далее в списке:
- Параметры, управляемые MDM
- Параметры, управляемые сервером
- Параметры на основе файлов
- Параметры уровня пользователя
В Второй пилот CLIэтом sandbox случае ключ является исключением из этих правил приоритета. Ограничения управляемой песочницы из параметров, управляемых mdM, управляемых сервером и файлов, объединяются друг с другом и с параметрами песочницы пользователя в самом строгом направлении.
Поддерживаемые ключи
| Ключ | Purpose | Второй пилот CLI | VS Code | приложение GitHub Copilot | Copilot облачный агент | JetBrains IDEs |
|---|---|---|---|---|---|---|
permissions.disable | Отключает обход или поведение YOLO-style allow-all | |||||
model | Задает автоматический выбор модели в качестве значения по умолчанию для новых бесед | |||||
enabledPlugins | Включает или отключает определенные подключаемые модули по ключу | |||||
extra | Добавляет подключаемые платформы, к которым пользователи могут получить доступ | |||||
strict | Ограничивает установку подключаемого модуля явным образом перечисленными marketplace | |||||
telemetry | Настраивает экспорт OpenTelemetry, маршрутизацию Copilot данных об использовании в сборщик по вашему усмотрению | |||||
remoteControl | Ограничивает возможность удаленного управления сеансами, размещенными на этом устройстве, на основе состояния авторизации единого входа клиента для перечисленных организаций. Не влияет на возможность удаленного управления сеансами, размещенными на других устройствах | |||||
allowedMcpServers | Определяет список разрешений серверов MCP, разрешенных для запуска. Любой сервер, не соответствующий, заблокирован. Опущено разрешить все серверы, при условии каких-либо правил запрета | |||||
deniedMcpServers | Определяет серверы MCP, которые безусловно заблокированы, даже если они также соответствуют записи в allowedMcpServers | |||||
sandbox | Применяет минимальные ограничения локальной песочницы для выполнения команд, файловой системы и сетевого доступа, учетных данных и локальных серверов MCP и LSP |
Применение различных параметров к корпоративным командам
Для развертываний, управляемых сервером, предприятие может применять различные системы управления к группам пользователей на основе членства в команде предприятия. Предприятие определяет все параметры— членство в команде определяет только, какие пользователи получают заданный набор значений.
Чтобы сделать ключ подходящим для определенных команд значений, пометьте его как переопределимый в managed-settings.json синтаксисе { "overridable": <VALUE> } . Переопределенный ключ использует значение команды при установке или возвращается к корпоративному умолчанию, когда команда оставляет ее неустановленной. Синтаксис { "overridable": <VALUE> } применяется к ключам model, permissions.disableBypassPermissionsMode``allowedMcpServersи deniedMcpServers ключам. Ключи, не помеченные переопределением, остаются решением корпоративного уровня, которое команды не могут изменить.
enabledPlugins и extraKnownMarketplaces работать аддитивно. Предприятие managed-settings.json задает базовый план, а корпоративный файл команды может добавлять дополнительные подключаемые модули и marketplace на его основе. Полные действия по настройке см. в разделе Настройка параметров, управляемых предприятием.
Пример конфигурации
В следующем примере показаны эти ключи в одном управляемом файле параметров.
{
"model": "auto",
"permissions": {
"disableBypassPermissionsMode": "disable"
},
"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": [
{
"serverCommand": [
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"/"
]
}
],
"sandbox": {
"enabled": true,
"allowBypass": false,
"sandboxMcpServers": true,
"sandboxLspServers": true
}
}
enabledPlugins
Определяет подключаемые модули, которые автоматически устанавливаются или блокируются для всех корпоративных пользователей. Каждая запись использует формат PLUGIN-NAME@MARKETPLACE-NAME в качестве ключа с логическим значением: true для включения подключаемого модуля или false его отключения. См . раздел AUTOTITLE.
extraKnownMarketplaces
Определяет дополнительные подключаемые платформы подключаемых модулей, доступные пользователям. Каждая запись — это именованный объект Marketplace, source содержащий свойство. Поддерживаются следующие типы источников:
"github"— требуетсяrepoформатOWNER/REPO; необязательныйref(ветвь, тег или SHA) иpath(подкаталог)"git"— требуется; необязательноurl``refиpath"directory"— требуетсяpath
strictKnownMarketplaces
Ограничивает установку подключаемого модуля только в Marketplace, явно определенных предприятием. Пустой массив означает полную блокировку. Каждая запись — это объект Marketplace со свойством source , указывающим тип источника. Поддерживаются следующие типы источников:
"github"— требуетсяrepoвOWNER/REPOформате; необязательноrefиpath"git"— требуется; необязательноurl``refиpath"url"— требуетсяurl; необязательныйheadersобъект"npm"— требуетсяpackage"file"— требуетсяpath"directory"— требуетсяpath"hostPattern"— требуетсяhostPattern(регулярное сопоставление узлов Marketplace)"pathPattern"— требуетсяpathPattern(regex matching marketplace paths)
модель
Задает автоматический выбор модели в качестве значения по умолчанию для новых бесед. См . раздел AUTOTITLE.
- При установке
model``"auto"новых сеансов используется автоматическая модель, если пользователь не задает другую модель на основе беседы. - Этот ключ переопределяется сопоставлением команд предприятия. В вашем
Второй пилот CLIслучае используйте{ "overridable": "auto" }синтаксис для специализации конфигурации ключа на основе команды. Затем можно задать"model": "unmanaged"в файле параметров команды, предоставляя специализацию, которая имеет приоритетVS Codeдля членов группы субъектов.
permissions
disableBypassPermissionsMode
Запрещает пользователям включать режим обхода (также называемый режимом YOLO). Режим обхода позволяет агенту запускать команды, получать доступ к файлам и получать URL без запроса одобрения.
Если задано значение disableBypassPermissionsMode``"disable", пользователи не могут включить режим обхода:
- Во приложение GitHub Copilotвсех параметрах командной строки для разрешения всех разрешений (
--yoloи--allow-allотдельных--allow-all-tools,--allow-all-pathsи--allow-all-urlsпараметров) подавляются при запуске и не могут предоставляться повышенные разрешения./yoloКоманды/allow-allкосой черты также блокируются. - В managed-settings.jsonэтом случае глобальный параметр автоматического утверждения (
chat.tools.global.autoApprove) отключен и не может быть включен повторно. - В параметре managed-settings.json"Разрешить все" для параметра "Разрешения инструментов" заблокированы в параметрах сеансов.
- Этот ключ переопределяется сопоставлением команд предприятия. В вашем
managed-settings.jsonслучае используйте{ "overridable": "disable" }синтаксис для специализации конфигурации ключа на основе команды. Затем можно задать"disableBypassPermissionsMode": "unmanaged"в файле параметров команды, предоставляя специализацию, которая имеет приоритетmanaged-settings.jsonдля членов группы субъектов.
Данные телеметрии
Настраивает экспорт OpenTelemetry, маршрутизацию Copilot данных об использовании в сборщик по вашему усмотрению.
Это свойство поддерживается для Второй пилот CLI и VS Code.
При установке telemetry свойства Copilot данные телеметрии отправляются в указанную конечную точку. Поддерживаются следующие вложенные свойства:
enabled: установлено, чтобыtrueвключить экспорт телеметрии илиfalseотключить его.endpoint: URL-адрес сборщика OTLP (например,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"авторизованного единым входом для организаций, перечисленных вgithubDotComOrganizations, или"enabled"разрешить его неограниченным.githubDotComOrganizations: массив имен входа организации. Обязательный, еслиmodeимеет значение"requireSSO".
allowedMcpServers
Определяет список разрешений серверов MCP, разрешенных для запуска. Если задано, разрешены только серверы, соответствующие хотя бы одной записи. Любой сервер, не соответствующий, заблокирован.
Опустите этот ключ полностью, чтобы разрешить все серверы, при условии любых записей в deniedMcpServers. Задайте для него пустой массив, чтобы заблокировать все серверы, кроме встроенных серверов по умолчанию.
При определении allowedMcpServersнескольких источников параметров эффективный список разрешений является пересечением всех источников. Сервер должен быть разрешен каждым источником для запуска.
Каждая запись должна содержать ровно одно свойство сопоставления.
| Property | Поведение сопоставления | Применимые серверы |
|---|---|---|
serverName | Точно соответствует метки сервера, назначаемой пользователем. Подстановочные знаки не поддерживаются. Так как пользователи выбирают имена серверов, используйте serverUrl или serverCommand когда необходимо применить удостоверение сервера. | Любой сервер. Серверы в памяти могут использовать serverNameтолько . |
serverUrl | Соответствует URL-адресу удаленного сервера. Поддерживает * подстановочные знаки для поддоменов или префиксов пути, напримерhttps:/. | Удаленные серверы, подключающиеся через события HTTP или отправленные сервером (SSE). Это свойство не применяется к локальным серверам, даже если у них есть URL-адрес. |
serverCommand | Соответствует точной команде и каждому аргументу локального сервера, например ["npx", "-y", "my-mcp-server"]. Подстановочные знаки и расширение командной строки не поддерживаются. | Локальные серверы, использующие стандартные входные и выходные данные (stdio). Это свойство не применяется к удаленным серверам, даже если у них есть команда. |
Этот ключ переопределяется для корпоративных команд. Обтекайте объекты overridable сопоставления на уровне предприятия, а затем используйте обычный синтаксис для определения списков разрешений и списков запретов в файле каждой команды.
Канонизация URL-адреса
Перед сравнением шаблона с URL-адресом serverUrl сервера клиент нормализует оба значения:
- Преобразует схему и узел в нижний регистр.
- Преобразует имена узлов Юникода в Punycode в интернационализованные или юникоды.
- Удаляет порт
:80по умолчанию для HTTP или:443HTTPS. - Декодирует октеты узла, закодированные в процентах. Например,
%65vilпреобразуется вevil. - Удаляет фрагменты URL-адресов и конечные точки из DNS-имен.
- Запрещает подстановочные знаки в компоненте центра сопоставлять границу
/в путь.
deniedMcpServers
Определяет серверы MCP, которые безусловно заблокированы. Сервер, соответствующий любой записи, блокируется, даже если он также соответствует записи allowedMcpServers. Правила запрета всегда имеют приоритет над правилами разрешения.
Copilot Сторонние серверы, такие как встроенный GitHub сервер MCP, освобождаются от правил запрета и не могут быть заблокированы.
При определении deniedMcpServersнескольких источников параметров эффективный список запретов является объединением всех источников. Сервер, заблокированный любым источником, блокируется для всех.
Каждая запись использует одинаковые serverName``serverUrlсвойства или serverCommand свойства, описанные в allowedMcpServersразделе .
sandbox
Применяет минимальные ограничения локальной песочницы для Второй пилот CLI. Параметры управляемой песочницы накладывают ограничения, а не значения по умолчанию:
- Для параметров принудительного
trueвключения управляемое значение применяет этот параметр.falseили упущение оставляет конфигурацию пользователя без изменений. - Для параметров возможностей управляемое значение
falseзапрещает возможность.trueили упущение оставляет конфигурацию пользователя без изменений. - Управляемые списки путей только для чтения и записи ограничивают настраиваемые пользователем гранты, а управляемые запрещенные пути добавляются в настроенные пользователем отказы.
Поддерживаются следующие вложенные свойства:
enabled:trueтребует песочницы и предотвращает отключение пользователей.allowBypass:falseзапрещает модели запрашивать выполнение отдельной команды за пределами песочницы.addCurrentWorkingDirectory:falseзапрещает Второй пилот CLI автоматически добавлять текущий рабочий каталог в пути чтения и записи песочницы.sandboxMcpServers:trueтребуется локальные серверы MCP, запущенные в Второй пилот CLI песочнице. Удаленные серверы MCP не выполняются в локальной песочнице.sandboxLspServers:trueтребует, чтобы серверы языка запускались в Второй пилот CLI песочнице.gitAuth:falseзапрещает Второй пилот CLI внедрение маркера для прошедших проверку подлинности операций GitHub HTTPS Git в песочнице.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.