エンタープライズ管理の設定を使用すると、エンタープライズ所有者は、企業の Copilot プランでサポートされているクライアントに構成設定を一元的に定義して配布し、定義したガードレール内ですべてのメンバーが動作するようにしながら、チームが許可する設定を調整できます。
次のクライアントはサポートされていますが、すべてのクライアントがすべてのプロパティをサポートしているわけではありません。
-
Copilot CLI (コパイロット CLI)
-
VS Code
-
GitHub Copilot アプリ
-
Copilot クラウドエージェント
これらの設定はエンタープライズ全体に適用され、企業はエンタープライズ チームに対して特定のキーをカスタマイズできます。 ほとんどのサポートされているキーの場合、 managed-settings.json 値は、ユーザーがクライアントで設定するファイル ベースの構成よりも優先されます。
Copilot CLI (コパイロット CLI)では、マネージド sandbox設定では、ユーザーがさらに強化できるが緩めることができない最小限の制限が定義されます。
MDM で管理される設定とファイル ベースの設定はデバイスから読み込まれるため、サインイン前またはサーバーラウンドトリップの前に適用でき、ユーザーがアカウントを切り替えたときにアクティブなままです。 サーバー管理の設定は、ユーザーのサインイン アカウントに関連付けられます。
設定の定義
使用可能なプロパティと構文の詳細については、 エンタープライズ管理設定 を参照してください。
1 つ以上のエンタープライズ チームが copilot/team-mappings.json の既定値とは異なる設定を使用する必要がある場合は、copilot/チーム/と copilot/managed-settings.json ディレクトリを使用します。 詳細については、「エンタープライズ管理設定の構成」を参照してください。
デプロイ方法の選択
エンタープライズ管理設定を展開するには、複数の方法があります。 適切な方法を選択するには、次のガイドラインに従います。 どのような方法でも、広範な展開を行う前に、小さなデバイス グループをパイロットします。
- サーバー管理: ほとんどの企業の既定で、ワークフローと監査履歴の確認に最適です。 Copilot クラウドエージェントを含むすべてのクライアントに適用されます。
- MDM 管理: IT チームが macOS および Windows 上の既存の MDM ツールを使用してデバイス グループ ターゲットを設定する必要がある場合に最適です。 ローカル クライアントのみ。
- ファイル ベース: すべてのプラットフォームで使用でき、コンテナーや Codespacesなどの開発者環境を含め、サーバーで管理された展開と MDM で管理される展開が利用できない場合に便利です。 ローカル クライアントのみ。
Copilot CLI (コパイロット CLI)では、サーバー管理設定の要求が失敗し、キャッシュされた応答が使用できない場合、そのセッションではサーバー管理ポリシーを使用できません。 サーバーの応答なしで引き続き使用できる必要がある制限については、MDM で管理される設定またはファイル ベースの設定を使用します。
Copilot 事業専用エンタープライズを使用する場合は、追加の考慮事項があります。 専用のCopilot 事業企業向けのガイダンスを参照してください。
サーバー管理設定の展開
.github-privateリポジトリを作成して構成します。 「.github-private リポジトリの作成」を参照してください。- リポジトリで、
copilot/managed-settings.jsonを作成または更新します。 - エンタープライズ ポリシー キーと値を JSON 形式で追加します。
- 変更をコミットして既定のブランチにプッシュします。
- エンタープライズ ユーザーがサポートされているクライアントを実行していることを確認します。 更新された設定は、約 1 時間以内に自動的に適用されます。 クライアントを再起動するか、もう一度サインインすると、即時更新がトリガーされます。
特定のチームの設定をオーバーライドする
サーバー管理の展開では、1 つ以上のエンタープライズ チームが既定のcopilot/team-mappings.json値とは異なる設定を使用する必要がある場合は、copilot/チーム/とcopilot/managed-settings.json ディレクトリを使用します。
enabledPlugins と extraKnownMarketplaces は追加的に動作します。 エンタープライズ managed-settings.json はベースラインを設定します。エンタープライズ チーム ファイルでは、その上にプラグインとマーケットプレースを追加できます。
-
エンタープライズの
copilot/managed-settings.jsonファイルで、{ "overridable": <VALUE> }構文を使用してオーバーライドの対象にする各キーをマークします。 チームにマップするjsonファイルは、オーバーライド可能としてマークしたキーに対してのみ異なる値を送信できます。overridableで指定したmanaged-settings.json値は、teams ファイルが特定のキーに対して異なる値を宣言しない場合の既定値です。 たとえば、modelとdisableBypassPermissionsModeの両方を延期するには、次のようにします。{ "model": { "overridable": "auto" }, "permissions": { "disableBypassPermissionsMode": { "overridable": "disable" } }, "allowedMcpServers": { "overridable": [ { "serverUrl": "https://mcp.company.com/*" } ] } } -
企業の
.github-privateリポジトリで、copilot/team-mappings.jsonを作成します。 各チーム設定ファイルを 1 つ以上のエンタープライズ チーム のスラッグにマップします。 キーは設定ファイル名であり、値はチーム スラッグの配列であるため、複数のチームに 1 つのファイルを適用できます。{ "devs.json": ["developers-all", "finops-dev"], "ai-users.json": ["ai-baseline-trained"], "frontier.json": ["ai-pioneers"] } -
copilot/チーム/の下にチーム設定ファイルを作成します。 オーバーライド可能としてマークしたキーのみを含めます。 その他のすべてのキーは、エンタープライズの既定値によって管理されます。{ "model": "unmanaged", "permissions": { "disableBypassPermissionsMode": "unmanaged" }, "allowedMcpServers": [ { "serverUrl": "https://team-specific-mcp.company.com/*" } ] } -
変更をコミットして既定のブランチにプッシュします。
GitHub は、エンタープライズ チームのメンバーシップを評価し、各ユーザーに一致する設定を適用します。 ユーザーが複数のチームに属している場合、チーム ファイルは各キーの最も制限の厳しい値を使用して結合され、エンタープライズ設定の下に適用され、プラットフォームの決定が常に優先されます。
MDM で管理される設定の展開
ネイティブ MDM 配信では、サーバー管理設定と同じ論理キーと値が使用されますが、 managed-settings.json ファイルは展開されません。 代わりに、MDM プラットフォームでは、オペレーティング システムで管理される文字列値として個々の設定が展開されます。
ネイティブ MDM 配信は、Windowsおよび macOS で利用できます。
| オペレーティング システム | ネイティブ ポリシーの場所 |
|---|---|
| ウィンドウズ | の文字列 (REG_SZ) 値 HKEY_LOCAL_MACHINE\ |
| macOS | |
com.github.copilot基本設定ドメインの強制管理基本設定の文字列値 | |
| Linux | ネイティブ MDM 配信はサポートされていません。 代わりにファイル ベースの設定を使用してください。 |
すべてのネイティブ MDM 値は文字列である必要があります。 入れ子になった設定の場合は、 permissions.disableBypassPermissionsMode や sandbox.enabledなどのドット区切りのキーを使用します。 通常の文字列値を直接格納します。 ブール値、配列、およびオブジェクトを文字列値内の JSON テキストとして格納します。
例えば次が挙げられます。
| Key | ネイティブ文字列値 |
|---|---|
permissions.disable | disable |
sandbox.enabled | true |
enabledPlugins | {"PLUGIN-NAME@MARKETPLACE-NAME":true} |
-
適用する設定を選択します。 「エンタープライズ管理設定」を参照してください。
-
各設定をネイティブ キーと文字列値表現に変換します。
-
エンタープライズ MDM プラットフォームと標準ロールアウト プロセスを使用して、ネイティブ ポリシーの場所に設定を展開します。
-
ポリシーをターゲット デバイス グループに割り当てます。
クライアントは再起動する必要はありません。また、更新されたポリシーを時間単位で確認する必要はありません。 VS Codeでは、管理者は
Developer: Sync Account Policyコマンドを実行してテストのチェックを強制できます。 -
設定が有効であることを確認します。 構成が適用されたことを確認するを参照してください。
ファイル ベースの設定の展開
managed-settings.jsonを次の場所に配置します。
| オペレーティング システム | ファイルの場所 |
|---|---|
| macOS | / |
| ウィンドウズ | %Program |
| Linux | / |
- 適用するポリシー キーと値を使用して、
managed-settings.jsonファイルを作成または更新します。 - 標準のデバイス管理プロセスを使用して、プラットフォーム固有の場所にファイルを配布します。 ファイルを受信しないマシンは、このポリシーによって制限されません。
- macOS および Linux で Copilot CLI (コパイロット CLI) する場合は、ファイルを
rootが所有する通常のファイルにし、グループ書き込み可能またはワールド書き込み可能でないことを確認します。 シンボリック リンクは使用しないでください。 CLI は、これらの要件を満たしていないファイルを拒否します。 - 更新されたポリシーが起動時に読み込まれるように、サポートされているクライアントを再起動するようユーザーに依頼します。
- 設定が有効であることを確認します。 構成が適用されたことを確認するを参照してください。
構成が適用されたことを確認する
サーバーで管理される展開の場合、サポートされているクライアントのユーザーには、指定された設定が約 1 時間以内に表示されます。 これには、copilot/managed-settings.json内のcopilot/team-mappings.json、copilot/チーム/、ファイルが含まれます。 クライアントを再起動するか、もう一度サインインすると、即時更新がトリガーされます。
MDM で管理される展開の場合、クライアントは 1 時間ごとに更新されたポリシーを確認します。 ファイル ベースの展開の場合は、クライアントを再起動して更新されたファイルを読み込みます。
ユーザーにこれらの設定が表示されない場合は、企業またはその組織のいずれかを通じて Copilot へのアクセス権をユーザーが受け取っていることを確認します。 ユーザーが複数の課金エンティティからライセンスを受け取った場合は、 個人の Copilot 設定の [使用量の請求先] ドロップダウンで企業を選択していることを確認します。
専用の Copilot 事業 企業向けガイダンス
Copilot 事業専用のエンタープライズ (Copilot スタンドアロンとも呼ばれます) がある場合でも、エンタープライズ管理設定を使用できます。 選択するデプロイ方法によって、最初に設定する必要がある内容が決まります。
サーバー管理設定の使用
サーバーで管理される設定には、組織と .github-private リポジトリが必要です。 これらを作成するには、企業内の 1 人のユーザーに GitHub Enterprise ライセンスが必要です。 そのライセンスを使用すると、ユーザーは次のことができます。
- 組織と
.github-privateリポジトリを作成します。 「.github-private リポジトリの作成」を参照してください。 copilot/managed-settings.jsonファイル内のリポジトリに設定を追加します。- その組織を、企業の AI 標準のガバナンスのソースとして設定します。 「.github-private リポジトリの作成」を参照してください。
その時点から、CopilotまたはCopilot CLI (コパイロット CLI)を使用する企業のVS Code計画のユーザーは、.github-private リポジトリにアクセスできるかどうかに関係なく、これらの設定によって制御されます。
この方法の主な制限は、組織とリポジトリを作成するための GitHub Enterprise ライセンス要件です。
MDM で管理またはファイル ベースの設定を使用する
GitHub Enterprise ライセンスを追加したり、組織を作成したりしない場合は、MDM (Intune や Jamf など) またはファイルベースの展開を使用して同じ論理設定を展開できます。 ファイルベースの配信では、JSON スキーマが直接使用されます。 ネイティブ MDM 配信では、フラット キーと文字列エンコード値が使用されます。 どちらの方法も、組織または .github-private リポジトリを必要とします。
MDM で管理される設定の展開とファイル ベースの設定の展開に関する説明を参照してください。
VS Code固有のガイダンスについては、」を参照してください。
プラグインのアクセスに関する考慮事項
ユーザーは、クライアントがマネージド設定をプルするために、 .github-private リポジトリにアクセスする必要はありません。 ただし、マネージド設定で enabledPlugins を使用してプラグインを定義すると、クライアントはユーザーごとにプラグインのインストールを自動的に試行します。 ユーザーは、プラグイン ファイルがホストされている場所にアクセスする必要があります。 プラグインが GitHubのプライベート リポジトリでホストされている場合、ユーザーはそのリポジトリに対する承認を必要とします。この場合、ライセンスが必要になる場合があります。