Skip to main content
Skip to content

チームに対するエンタープライズ管理設定の上書き

特定のチームの既定の設定をオーバーライドすることで、過度に制限の厳しい構成を回避します。

この機能を使用できるユーザーについて

Enterprise owners

サーバーで管理される展開では、エンタープライズ チームのメンバーシップに基づいてユーザーのグループに異なるガバナンス設定を適用するように、エンタープライズの managed-settings.json ファイルを構成できます。 企業は、すべての設定を中央の場所で定義し、チーム メンバーシップによって、特定の値のセットを受け取るユーザーが決定されます。 ** managed-settings.json ファイルをまだ作成していない場合は、エンタープライズ管理設定を使い始める を参照してください。**

チームのオーバーライドの対象となるキーを作成するには、managed-settings.jsonoverridableとしてマークします。 オーバーライド可能なキーは、設定時にチームの値を使用するか、チームが設定を解除したときにエンタープライズの既定値にフォールバックします。

サポートされているキー

{ "overridable": <VALUE> }構文は、modelpermissions.disableBypassPermissionsModepermissions.denypermissions.askpermissions.allowallowedMcpServers、およびdeniedMcpServersキーに適用されます。

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" }

Steps

  1. エンタープライズの copilot/managed-settings.json ファイルで、 { "overridable": <VALUE> } 構文を使用してオーバーライドの対象にする各キーをマークします。 チームにマップする json ファイルは、オーバーライド可能としてマークしたキーに対してのみ異なる値を送信できます。

managed-settings.jsonで指定したoverridable値は、チーム ファイルが特定のキーに対して異なる値を宣言しない場合の既定値です。

たとえば、 modeldisableBypassPermissionsModeallowedMcpServers をチームに延期するには、次のようにします。

```json
{
  "model": { "overridable": "auto" },
  "permissions": {
    "disableBypassPermissionsMode": { "overridable": "disable" }
  },
  "allowedMcpServers": {
    "overridable": [
      { "serverUrl": "https://mcp.company.com/*" }
    ]
  }
}
```
  1. 企業の .github-private リポジトリで、 copilot/team-mappings.jsonを作成します。 各チーム設定ファイルを、1つ以上のエンタープライズチームスラッグに関連付けます。 キーは設定ファイル名であり、値はチーム スラッグの配列であるため、複数のチームに 1 つのファイルを適用できます。

    {
      "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 は、エンタープライズ チームのメンバーシップを評価し、各ユーザーに一致する設定を適用します。 ユーザーが複数のチームに属している場合、チーム ファイルは各キーの最も制限の厳しい値を使用して結合され、エンタープライズ設定の下に適用され、プラットフォームの決定が常に優先されます。