Skip to main content

Управляемые корпоративными настройками

Общие сведения о схеме управляемых параметров предприятия, используемой Copilot клиентами.

Используйте эту ссылку для понимания поддерживаемых в настоящее время ключей managed-settings.json.

Сведения о методах развертывания и поддерживаемых клиентах см. в разделе Настройка параметров, управляемых предприятием.

Правила приоритета

При наличии нескольких источников параметров параметры, приведенные выше в этом списке, имеют приоритет над параметрами далее в списке:

  1. Параметры, управляемые MDM
  2. Параметры, управляемые сервером
  3. Параметры на основе файлов
  4. Параметры уровня пользователя

В Второй пилот CLIэтом sandbox случае ключ является исключением из этих правил приоритета. Ограничения управляемой песочницы из параметров, управляемых mdM, управляемых сервером и файлов, объединяются друг с другом и с параметрами песочницы пользователя в самом строгом направлении.

Поддерживаемые ключи

КлючPurposeВторой пилот CLIVS Codeприложение GitHub CopilotCopilot облачный агентJetBrains IDEs
permissions.disableBypassPermissionsModeОтключает обход или поведение YOLO-style allow-all
modelЗадает автоматический выбор модели в качестве значения по умолчанию для новых бесед
enabledPluginsВключает или отключает определенные подключаемые модули по ключу
extraKnownMarketplacesДобавляет подключаемые платформы, к которым пользователи могут получить доступ
strictKnownMarketplacesОграничивает установку подключаемого модуля явным образом перечисленными 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

См . раздел AUTOTITLE.

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://mcp.example.com/*``https://*.internal.example.com/*.Удаленные серверы, подключающиеся через события HTTP или отправленные сервером (SSE). Это свойство не применяется к локальным серверам, даже если у них есть URL-адрес.
serverCommandСоответствует точной команде и каждому аргументу локального сервера, например ["npx", "-y", "my-mcp-server"]. Подстановочные знаки и расширение командной строки не поддерживаются.Локальные серверы, использующие стандартные входные и выходные данные (stdio). Это свойство не применяется к удаленным серверам, даже если у них есть команда.

Этот ключ переопределяется для корпоративных команд. Обтекайте объекты overridable сопоставления на уровне предприятия, а затем используйте обычный синтаксис для определения списков разрешений и списков запретов в файле каждой команды.

Канонизация URL-адреса

Перед сравнением шаблона с URL-адресом serverUrl сервера клиент нормализует оба значения:

  • Преобразует схему и узел в нижний регистр.
  • Преобразует имена узлов Юникода в Punycode в интернационализованные или юникоды.
  • Удаляет порт :80 по умолчанию для HTTP или :443 HTTPS.
  • Декодирует октеты узла, закодированные в процентах. Например, %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.