mcpField
P
policy-and-managed-settings

policy-and-managed-settings

github.com/microsoft開発194.4k57 回インストール今日更新
リポジトリ

policy-and-managed-settings について

VS Code と Copilot のエンタープライズポリシーを追加・保守する開発者向けスキルです。対象の動作を所有するランタイム、エディター、拡張機能に制御を配置する方法と、互換性や無効化 UI の指針を示します。

主な機能

  1. 01動作の所有者に基づくポリシー配置
  2. 02ランタイム制御へのマネージド設定の利用
  3. 03旧ポリシーの互換性境界の維持
  4. 04ポリシーで無効化された機能の UI 説明
  5. 05ポリシー変更時のデータ出力

活用シーン

  1. 01Copilot のエンタープライズ制御の追加
  2. 02ポリシー分類や移行チェックの変更
  3. 03ポリシー無効化項目の UI レビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/microsoft/vscode --skill policy-and-managed-settings

インストール後、Claude Code で/policy-and-managed-settingsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

extension-policy.md
github-managed-settings.md
legacy-permission-policy.md
local-testing.md
mixed-policy.md
policy-support-maintenance.md
sdk-runtime-policy.md
vscode-policy.md

詳細

エンタープライズポリシーの追加

ポリシーの適用先は、どのチームが要求したかではなく、制御対象の動作がどこに実装されているかに基づいて選択します。Copilot エージェントの動作に関する制御の大半は、VS Code ではなく SDK/ランタイムに属します。

flowchart TD
	A[Enterprise control] --> P{Existing permission policy<br/>introduced before VS Code 1.133.0?}
	P -->|Yes| L[Pre-1.133 compatibility migration]
	P -->|No| B{Where is the governed behavior implemented?}

	B -->|Copilot runtime, tools, MCP,<br/>sandbox, or agent loop| R[SDK/runtime managed setting]
	B -->|VS Code editor or workbench| V[VS Code configuration policy]
	B -->|Extension-provided setting| E[Extension policy]
	B -->|Independent runtime and editor behavior| M[Split runtime/editor control]

該当するガイドに従ってください。

ポリシーの分類、適用要件の述語、または管理者向けの移行準備状況の診断を変更する場合は、サポートと保守のガイドを使用してください。既存の制御を見直す場合にも、新しい制御を追加する場合にも適用されます。

一般的なルール:

  • ランタイム内で実行される動作は、ランタイムによる適用を正とします。
  • ランタイムのパーサー、マッチャー、またはセキュリティ判断を VS Code に重複して実装しないでください。
  • VS Code ポリシーが適切なのは、エディター/ワークベンチが所有する動作に限られます。
  • 新しい Copilot エンタープライズ制御は、共通の管理設定/SDK モデルを対象とします。
  • VS Code の設定から管理設定へのブリッジは、従来の設定に限った互換性経路です。ブリッジする目的で新しい VS Code 設定を追加しないでください。ランタイムが所有する新しい制御は、管理設定/SDK コントラクトで直接定義してください。このブリッジ自体は無条件です。互換性ゲートを再導入しないでください。
  • VS Code または拡張機能のポリシーを変更するたびに、npm run export-policy-data を実行してください。build/lib/policies/policyData.jsonc を手動で編集しないでください。

ポリシーによって無効になった機能の説明

リリースノートやドキュメントで説明されている機能を利用できない理由を、ユーザーが理解できるようにしてください。該当するオプションを黙って表示対象から除外するのではなく、通常は表示したまま無効にし、標準のブリーフケース型管理ポリシーインジケーター、ローカライズされた説明、アクセス可能な次の手順を提示してください。共通のデザインガイダンスと、設定/モデル/権限ピッカーの例に従ってください。

信頼できるポリシーの出所情報を使って、禁止されたオプションを、未対応の機能、機能ゲート、保留中の状態と区別してください。表示と認可は分離してください。Assisted または Allow All を無効状態で表示しても、禁止された値をランタイムで許可される列挙型に戻したり、作成/再開/書き込みの検証を回避したりしてはなりません。ポリシーの更新/削除、キーボードとポインターによる操作、古いメニュー、独立したヘルプリンクをテストし、AI を明示的に非表示にする動作を維持してください。

非推奨および履歴上のチャネル

一部のポリシーチャネルは既存の制御向けに引き続きサポートされていますが、新しいプロパティの追加には使用できません。

  • GitHub トークン/アカウントのポリシーデータ(AccountPolicyService が使用する IPolicyData フィールド)は、新しい制御では非推奨です。GitHub トークンから新しいエンタイトルメントまたはポリシープロパティを追加しないでください。既存のフィールドは互換性のために維持します。
  • 新しい Copilot エンタープライズ制御では、管理設定とランタイム/SDK による適用を使用してください。
  • 1.133 より前の権限ポリシーの変換は、対象を限定した移行であり、再利用可能なチャネルではありません。

別のチャネルが非推奨になった場合は、その境界をここに記録し、実装の詳細は該当する適用先のガイドに記載してください。

参考資料:

これらのガイドはコントラクトに焦点を当ててください。コントリビューターの判断と動作上の不変条件を記載し、変更によって実装とのずれが生じる内容を複製するのではなく、ソースを参照してください。

計画文書よりも、実行可能なソースとテストを信頼してください。

コメント