エンタープライズ管理の設定を使用すると、エンタープライズ所有者は、企業の Copilot プランでサポートされているクライアントに構成設定を一元的に定義して配布し、定義したガードレール内ですべてのメンバーが動作するようにしながら、チームが許可する設定を調整できます。
次のクライアントはサポートされていますが、すべてのクライアントがすべてのプロパティをサポートしているわけではありません。
-
Copilot CLI (コパイロット CLI)
-
VS Code
-
GitHub Copilot アプリ
-
Copilot クラウドエージェント
これらの設定はエンタープライズ全体に適用され、企業はエンタープライズ チームに対して特定のキーをカスタマイズできます。 サポートされているキーごとに、 managed-settings.json 値は、ユーザーがクライアントで設定するファイル ベースの構成よりも優先されます。
マネージド設定は、デバイスにネットワーク接続がない場合でも、クライアントの起動時にローカルに読み込まれます。 つまり、 allow-all アクセス許可オプションの抑制やプラグイン構成の制限などの制御は、サインインまたはサーバーラウンドトリップの前に適用され、ユーザーがアカウントを切り替えたときにアクティブなままです。
設定の定義
使用可能なプロパティと構文の詳細については、 エンタープライズ管理設定 を参照してください。
1 つ以上のエンタープライズ チームが copilot/managed-settings.json の既定値とは異なる設定を使用する必要がある場合は、copilot/team-mappings.jsonと copilot/チーム/ ディレクトリを使用します。 詳細については、「エンタープライズ管理設定の構成」を参照してください。
デプロイ方法の選択
エンタープライズ管理設定を展開するには、複数の方法があります。 適切な方法を選択するには、次のガイドラインに従います。 どのような方法でも、広範な展開を行う前に、小さなデバイス グループをパイロットします。
- サーバー管理: ほとんどの企業の既定で、ワークフローと監査履歴の確認に最適です。 Copilot クラウドエージェントを含むすべてのクライアントに適用されます。
- MDM 管理: IT チームが macOS および Windows 上の既存の MDM ツールを使用してデバイス グループ ターゲットを設定する必要がある場合に最適です。 ローカル クライアントのみ。
- ファイル ベース: すべてのプラットフォームで使用でき、コンテナーや Codespacesなどの開発者環境を含め、サーバーで管理された展開と MDM で管理される展開が利用できない場合に便利です。 ローカル クライアントのみ。
Copilot 事業専用エンタープライズを使用する場合は、追加の考慮事項があります。 専用のCopilot 事業企業向けのガイダンスを参照してください。
サーバー管理設定の展開
.github-privateリポジトリを作成して構成します。 「.github-private リポジトリの作成」を参照してください。- リポジトリで、
copilot/managed-settings.jsonを作成または更新します。 - エンタープライズ ポリシー キーと値を JSON 形式で追加します。
- 変更をコミットして既定のブランチにプッシュします。
- エンタープライズ ユーザーがサポートされているクライアントを実行していることを確認します。 更新された設定は、約 1 時間以内、またはクライアントの再起動またはユーザーが再びサインインした直後に自動的に適用されます。
特定のチームの設定をオーバーライドする
サーバー管理の展開では、1 つ以上のエンタープライズ チームが既定のcopilot/managed-settings.json値とは異なる設定を使用する必要がある場合は、copilot/team-mappings.jsonとcopilot/チーム/ ディレクトリを使用します。
enabledPlugins と extraKnownMarketplaces は追加的に動作します。 エンタープライズ managed-settings.json はベースラインを設定します。エンタープライズ チーム ファイルでは、その上にプラグインとマーケットプレースを追加できます。
-
エンタープライズの
copilot/managed-settings.jsonファイルで、{ "overridable": <VALUE> }構文を使用してオーバーライドの対象にする各キーをマークします。 チームにマップするjsonファイルは、オーバーライド可能としてマークしたキーに対してのみ異なる値を送信できます。managed-settings.jsonで指定したoverridable値は、teams ファイルが特定のキーに対して異なる値を宣言しない場合の既定値です。 たとえば、modelとdisableBypassPermissionsModeの両方を延期するには、次のようにします。{ "model": { "overridable": "auto" }, "permissions": { "disableBypassPermissionsMode": { "overridable": "disable" } } } -
企業の
.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" } } -
変更をコミットして既定のブランチにプッシュします。
GitHub は、エンタープライズ チームのメンバーシップを評価し、各ユーザーに一致する設定を適用します。 ユーザーが複数のチームに属している場合、チーム ファイルは各キーの最も制限の厳しい値を使用して結合され、エンタープライズ設定の下に適用され、プラットフォームの決定が常に優先されます。
MDM で管理される設定の展開
-
サーバーで管理される設定に使用されるのと同じ JSON スキーマを使用して、
managed-settings.jsonペイロードを作成または更新します。 -
エンタープライズ MDM プラットフォームと標準のロールアウト プロセスを使用してペイロードをデプロイします。
-
ポリシーをターゲット デバイス グループに割り当てます。
クライアントは再起動する必要はありません。また、更新されたポリシーを時間単位で確認する必要はありません。 VS Codeでは、管理者は
Developer: Sync Account Policyコマンドを実行してテストのチェックを強制できます。 -
設定が有効であることを確認します。 構成が適用されたことを確認するを参照してください。
ファイル ベースの設定の展開
- 適用するポリシー キーと値を使用して、
managed-settings.jsonファイルを作成または更新します。 - 標準のデバイス管理プロセスを使用して、マネージド マシンにファイルを配布します。 ファイルを受信しないマシンは、このポリシーによって制限されないため、ファイル ベースの展開では、アクティブに配布するマシンに対してのみ対象範囲が提供されます。
- エンタープライズ セキュリティ要件に従ってファイルのアクセス許可を適用します。
- 更新されたポリシーが起動時に読み込まれるように、サポートされているクライアントを再起動するようユーザーに依頼します。
- 設定が有効であることを確認します。 構成が適用されたことを確認するを参照してください。
構成が適用されたことを確認する
構成がコミットされると、クライアントは定期的にサーバーで更新された構成を確認するため、サポートされているクライアントのユーザーは約 1 時間以内に指定された設定を確認します。 サーバーで管理されるデプロイの場合、これには、copilot/チーム/内のcopilot/managed-settings.json、copilot/team-mappings.json、ファイルが含まれます。
クライアントを再起動するか、もう一度サインインすると、最新の設定がすぐに適用されます。
ユーザーにこれらの設定が表示されない場合は、企業またはその組織のいずれかを通じて 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 スキーマを使用するため、組織や .github-private リポジトリは必要ありません。
MDM で管理される設定の展開とファイル ベースの設定の展開に関する説明を参照してください。
VS Code固有のガイダンスについては、」を参照してください。
プラグインのアクセスに関する考慮事項
ユーザーは、クライアントがマネージド設定をプルするために、 .github-private リポジトリにアクセスする必要はありません。 ただし、マネージド設定で enabledPlugins を使用してプラグインを定義すると、クライアントはユーザーごとにプラグインのインストールを自動的に試行します。 ユーザーは、プラグイン ファイルがホストされている場所にアクセスする必要があります。 プラグインが GitHubのプライベート リポジトリでホストされている場合、ユーザーはそのリポジトリに対する承認を必要とします。この場合、ライセンスが必要になる場合があります。