エンタープライズ管理設定を使い始める に従った場合は、GitHubでマネージド設定をホストしました。 これはサーバーで管理されるデプロイです。 モバイル デバイス管理またはファイル ベースの配信を使用して、ユーザーのコンピューターに設定を直接展開することもできます。
複数の異なるデプロイ方法を組み合わせることができます。 たとえば、IT によって管理される交渉不可能なセキュリティ ポリシーに MDM を使用し、プラグインの設定など、変更される可能性が高いものについてはサーバー管理の設定を使用できます。 ただし、これにより、ユーザーに適用される設定を正確に理解するのが難しくなる可能性があることに注意してください。 これを行う場合は、 デプロイ方法の優先順位に関する説明を参照してください。
デプロイ方法の選択
エンタープライズ管理設定を展開するには、複数の方法があります。 適切な方法を選択するには、次のガイドラインに従います。
- サーバー管理 (.github-private リポジトリ):
- ほとんどの企業では既定で、ワークフローと監査履歴の確認に最適です。
- Copilot cloud agentを含むすべてのクライアントに適用されます。
- 企業から GitHub Copilot ライセンスを受け取ったユーザーにのみ適用されます。
- エンタープライズ チームに対してオーバーライドを許可します。
- モバイル デバイス管理:
- IT チームが macOS および Windows 上の既存の MDM ツールを使用してデバイス グループターゲットを設定する必要がある場合に最適です。
- ローカル クライアントのみ。
- GitHub Copilot ライセンスを受け取る場所に関係なく、ユーザーに適用されます。
- ファイルベース:
- すべてのプラットフォームで使用でき、コンテナーや Codespacesなどの開発者環境を含め、サーバーで管理された展開と MDM で管理される展開が利用できない場合に便利です。
- ローカル クライアントのみ。
- GitHub Copilot ライセンスを受け取る場所に関係なく、ユーザーに適用されます。
MDM で管理される設定とファイル ベースの設定はデバイスから読み込まれるため、サインイン前またはサーバーラウンドトリップの前に適用でき、ユーザーがアカウントを切り替えたときにアクティブなままです。 サーバー管理の設定は、ユーザーのサインイン アカウントに関連付けられます。
Copilot CLIでは、サーバー管理設定の要求が失敗し、キャッシュされた応答が使用できない場合、そのセッションではサーバー管理ポリシーを使用できません。 サーバーの応答なしで引き続き使用できる必要がある制限については、MDM で管理される設定またはファイル ベースの設定を使用します。
Copilot Business専用エンタープライズを使用する場合は、追加の考慮事項があります。 「組織なしでエンタープライズ管理の設定を使用する」を参照してください。
サーバー管理設定の展開
.github-privateリポジトリを作成して構成します。 「.github-private リポジトリの作成」を参照してください。- リポジトリで、
copilot/managed-settings.jsonを作成または更新します。 - エンタープライズ ポリシー キーと値を JSON 形式で追加します。
- 変更をコミットして既定のブランチにプッシュします。
- エンタープライズ ユーザーがサポートされているクライアントを実行していることを確認します。 更新された設定は、約 1 時間以内に自動的に適用されます。 クライアントを再起動するか、もう一度サインインすると、即時更新がトリガーされます。
MDM で管理される設定の展開
ネイティブ MDM 配信では、サーバー管理設定と同じ論理キーと値が使用されますが、 managed-settings.json ファイルは展開されません。 代わりに、MDM プラットフォームでは、オペレーティング システムで管理される文字列値として個々の設定が展開されます。
ネイティブ MDM 配信は、Windowsおよび macOS で利用できます。
| オペレーティング システム | ネイティブ ポリシーの場所 |
|---|---|
| Windows | |
HKEY_LOCAL_MACHINE\ の下の文字列 (REG_SZ) の値 | |
| macOS | |
com.github.copilot環境設定ドメインの強制管理対象環境設定における文字列値 | |
| リナックス | ネイティブ 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 | / |
| Windows | %Program |
| リナックス | / |
- 適用するポリシー キーと値を使用して、
managed-settings.jsonファイルを作成または更新します。 - 標準のデバイス管理プロセスを使用して、プラットフォーム固有の場所にファイルを配布します。 ファイルを受信しないマシンは、このポリシーによって制限されません。
- macOS および Linux での Copilot CLI については、ファイルを
rootが所有する通常ファイルにし、グループ書き込み可能でもその他ユーザーによる書き込み可能でもないことを確認します。 シンボリック リンクは使用しないでください。 CLI は、これらの要件を満たしていないファイルを拒否します。 - 更新されたポリシーが起動時に読み込まれるように、サポートされているクライアントを再起動するようユーザーに依頼します。
デプロイ方法の優先順位
複数の設定ソースが存在する場合、この一覧の前の設定は、一覧の後の設定よりも優先されます。
- MDM で管理される設定
- サーバーで管理される設定
- ファイルベースの設定
- ユーザー レベルの設定
例外として、次のキーは、さまざまな配信方法で最も制限の厳しい方向に構成されます。
sandboxpermissions.deny、permissions.ask、およびpermissions.allow