🔒
VSCode拡張機能を企業で管理する方法
VSCode拡張機能を企業で管理する方法
はじめに
Visual Studio Code(VSCode)は開発現場で広く使われていますが、拡張機能の管理は企業のセキュリティポリシーにおいて重要な課題です。本記事では、VSCode 1.96以降で利用可能なextensions.allowed設定を使って、企業環境で拡張機能を管理する方法を解説します。
前提条件
- Visual Studio Code バージョン 1.96 以降
- 管理者権限(企業展開の場合)
extensions.allowedの設定
extensions.allowed設定は、インストール可能な拡張機能を制御するホワイトリスト方式の機能です。
公式ドキュメント: https://code.visualstudio.com/docs/setup/enterprise#_configure-allowed-extensions
設定の構文
"extensions.allowed": {
"パブリッシャーID": true/false/"stable"/["バージョン"],
"パブリッシャー.拡張機能ID": true/false/"stable"/["バージョン"]
}
重要: キーにピリオド(.)がない場合はパブリッシャーID、ピリオドがある場合は拡張機能IDとして扱われます。
設定値の種類と使い方
{
"extensions.allowed": {
// CASE1: true(全バージョン許可)
// 指定したパブリッシャーまたは拡張機能のすべてのバージョンを許可
// 信頼できるパブリッシャーと必要な拡張機能のみを許可する基本的なホワイトリスト
"microsoft": true,
"github": true,
"esbenp.prettier-vscode": true,
"dbaeumer.vscode-eslint": true,
// CASE2: false(明示的なブロック)
// 特定の拡張機能をブロック
// パブリッシャー全体が許可されている場合でも、個別にブロック可能
// この例では、GitHub社の拡張機能は許可されるが、Copilotのみがブロックされる
"github.copilot": false,
// CASE3: "stable"(安定版のみ許可)
// プレリリース版を除外し、安定版のみを許可
"ms-python.python": "stable",
"bradlc.vscode-tailwindcss": "stable",
// CASE4: 配列形式(特定バージョンのみ許可)
// セキュリティ要件が厳しい環境で、承認されたバージョンのみを許可
// 指定したバージョンのみをホワイトリストに登録
"esbenp.prettier-vscode": ["9.10.0"],
"dbaeumer.vscode-eslint": ["2.4.2", "3.0.0"],
"figma.figma-vscode-extension": ["3.0.0", "4.2.3", "4.1.2"]
}
}
個人PCでのテスト方法
企業展開前に、個人PCで動作を確認できます。
Windows環境での設定
%APPDATA%\Code\User\settings.json に設定を追加します。
{
"extensions.allowed": {
"microsoft": true,
"github": true,
"github.copilot": false
}
}
設定後、VSCodeを再起動して、許可された拡張機能がインストール可能であることを確認してください。
企業環境での展開方法
グループポリシーでの展開(Windows)
1. ポリシー定義ファイルのインストール
管理者権限でPowerShellを開き、以下のコマンドを実行します:
# vscode.admxファイルのコピー
Copy-Item -Path "$env:LOCALAPPDATA\Programs\Microsoft VS Code\policies\vscode.admx" `
-Destination "C:\Windows\PolicyDefinitions\" `
-Force
# vscode.admlファイル(日本語)のコピー
Copy-Item -Path "$env:LOCALAPPDATA\Programs\Microsoft VS Code\policies\ja-JP\vscode.adml" `
-Destination "C:\Windows\PolicyDefinitions\ja-JP\" `
-Force
2. グループポリシーエディターでの設定
-
gpedit.mscを実行してローカルグループポリシーエディターを開く - 「コンピューターの構成」→「管理用テンプレート」→「Visual Studio Code」→「拡張機能」を選択
- 「AllowedExtensions」ポリシーを編集
- 以下のような設定を適用:
{
"*": true,
"github.copilot": false,
"github.copilot-chat": false
}
設定の優先順位
- グループポリシー(最優先)
- ユーザー設定(
settings.json) - デフォルト設定
Discussion