Skip to main content

Переопределение параметров, управляемых предприятием для команд

Избегайте чрезмерно ограничивающей конфигурации, переопределяя параметры по умолчанию для определенных команд.

Кто может использовать эту функцию?

Enterprise owners

При развертывании, управляемом сервером, вы можете настроить файл предприятия managed-settings.json для применения различных параметров управления к группам пользователей на основе членства в команде предприятия. Предприятие определяет все параметры в центральном месте, а членство в команде определяет, какие пользователи получают заданный набор значений. Если файл еще не создан managed-settings.json , см. раздел AUTOTITLE.

Чтобы сделать ключ допустимым для переопределения команды, вы пометите его как overridable в managed-settings.json. Переопределенный ключ использует значение команды при установке или возвращается к корпоративному умолчанию, когда команда оставляет ее неустановленной.

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

Синтаксис { "overridable": <VALUE> } применяется к ключам model, permissions.deny``deniedMcpServers``permissions.disableBypassPermissionsMode``permissions.ask``permissions.allow``allowedMcpServersа также к ключам.

enabledPlugins и extraKnownMarketplaces работать аддитивно. Предприятие managed-settings.json задает базовый план, а корпоративный файл команды может добавлять дополнительные подключаемые модули и marketplace на его основе.

Полное описание этих ключей и их синтаксис см. в разделе Управляемые корпоративными настройками.

Переопределение параметров для определенных команд

Эти инструкции применяются к развертываниям, управляемым серверомmanaged-settings.json (размещенным в GitHub). Другие методы развертывания не поддерживают переопределения группы предприятия и требуют развертывания различных параметров в разных группах пользователей с помощью платформы MDM.

Вы будете copilot/team-mappings.json использовать copilot/teams/ и каталог, чтобы настроить, какие корпоративные команды должны использовать параметры, которые отличаются от значений по умолчаниюcopilot/managed-settings.json.

После завершения этого раздела .github-private репозиторий будет иметь следующую структуру:

  • .github-private/
    • copilot/

managed-settings.json **: { "model": { "overridable": "auto" } } * ** team-mappings.json **: { "no-auto.json": ["special-team"] } * teams/ * ** no-auto.json **: { "model": "unmanaged" }

Шаги

  1. В файле предприятия copilot/managed-settings.json пометьте каждый ключ, который вы хотите сделать доступным для переопределения с помощью синтаксиса { "overridable": <VALUE> } . json Файлы, сопоставленные с командами, могут отправлять только разные значения для ключей, которые можно переопределить.

    Указанное overridable значение является значением managed-settings.json по умолчанию, если файлы команды не объявляют другое значение для заданного ключа.

    Например, чтобы отложить modelи disableBypassPermissionsMode``allowedMcpServers в команды:

    {
      "model": { "overridable": "auto" },
      "permissions": {
        "disableBypassPermissionsMode": { "overridable": "disable" }
      },
      "allowedMcpServers": {
        "overridable": [
          { "serverUrl": "https://mcp.company.com/*" }
        ]
      }
    }
    
  2. Создайте в .github-privateрепозитории copilot/team-mappings.json предприятия. Сопоставить каждый файл параметров команды с одним или несколькими корпоративными слизями команды. Ключ — это имя файла параметров, а значение — массив командных слизней, поэтому можно применить один файл между несколькими командами.

    {
      "devs.json": ["developers-all", "finops-dev"],
      "ai-users.json": ["ai-baseline-trained"],
      "frontier.json": ["ai-pioneers"]
    }
    
  3. Создайте файл параметров команды в разделе copilot/teams/. Вы можете включить все ключи, помеченные как переопределимые, а также аддитивные ключи enabledPlugins и extraKnownMarketplaces. Каждый другой ключ остается управляемым вашей компанией по умолчанию.

    {
      "model": "unmanaged",
      "permissions": {
        "disableBypassPermissionsMode": "unmanaged"
      },
      "allowedMcpServers": [
        { "serverUrl": "https://team-specific-mcp.company.com/*" }
      ]
    }
    
  4. Зафиксируйте и отправьте изменения в ветвь по умолчанию.

GitHub оценивает членство в команде предприятия и применяет соответствующие параметры для каждого пользователя. Если пользователь принадлежит нескольким командам, их файлы групп объединяются с использованием наименьшего ограничивающего значения для каждого ключа, а затем применяется под параметрами предприятия, где решения платформы всегда выигрывают.