Skip to main content
Skip to content

替代团队的由企业管理的设置

通过重写特定团队的默认设置来避免过度限制的配置。

谁可以使用此功能?

Enterprise owners

使用服务器管理的部署,可以将企业 managed-settings.json 的文件配置为根据其企业团队成员身份将不同的治理设置应用于用户组。 企业定义中央位置的所有设置,团队成员身份确定哪些用户会收到一组给定的值。 如果尚未创建 managed-settings.json 该文件,请参阅 企业管理设置入门

若要使密钥符合团队替代条件,请将它 overridable 标记为 In managed-settings.json。 可替代的键使用设置后的团队值,或者在团队未设置时恢复为企业默认值。

支持的密钥

语法{ "overridable": <VALUE> }适用于 model、、permissions.disableBypassPermissionsModepermissions.deny``permissions.askpermissions.allow``allowedMcpServersdeniedMcpServers键。

enabledPluginsextraKnownMarketplaces 以累加方式起作用。 企业 managed-settings.json 设定了基准,而企业团队文件可以在此基础上添加更多插件和应用市场。

有关这些键及其语法的完整说明,请参阅 企业管理设置

替代特定团队的设置

这些说明适用于由服务器管理的部署(托管在managed-settings.json上的GitHub)。 其他部署方法不支持企业团队替代,并且需要通过 MDM 平台将不同的设置部署到不同的用户组。

你将使用 copilot/team-mappings.jsoncopilot/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的值是默认值。

例如,将modeldisableBypassPermissionsModeallowedMcpServers延后交由团队处理:

```json
{
  "model": { "overridable": "auto" },
  "permissions": {
    "disableBypassPermissionsMode": { "overridable": "disable" }
  },
  "allowedMcpServers": {
    "overridable": [
      { "serverUrl": "https://mcp.company.com/*" }
    ]
  }
}
```
  1. 在企业的存储库.github-private中创建copilot/team-mappings.json。 将每个团队设置文件映射到一个或多个企业团队数据域。 键是设置文件名,值是由团队 slug 组成的数组,因此你可以将一个文件应用于多个团队。

    {
      "devs.json": ["developers-all", "finops-dev"],
      "ai-users.json": ["ai-baseline-trained"],
      "frontier.json": ["ai-pioneers"]
    }
    
  2. copilot/teams/ 下创建团队设置文件。 可以包括标记为可替代的任何键,以及累加键 enabledPluginsextraKnownMarketplaces。 其他每个密钥都受企业默认值的约束。

    {
      "model": "unmanaged",
      "permissions": {
        "disableBypassPermissionsMode": "unmanaged"
      },
      "allowedMcpServers": [
        { "serverUrl": "https://team-specific-mcp.company.com/*" }
      ]
    }
    
  3. 提交更改并将其推送到默认分支。

GitHub 评估企业团队成员身份并为每个人应用匹配设置。 如果用户属于多个团队,则会针对每个键采用限制最少的值来合并其团队文件,然后在企业设置之下应用,其中平台决策始终优先。