🔒

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. グループポリシーエディターでの設定

  1. gpedit.msc を実行してローカルグループポリシーエディターを開く
  2. 「コンピューターの構成」→「管理用テンプレート」→「Visual Studio Code」→「拡張機能」を選択
  3. 「AllowedExtensions」ポリシーを編集
  4. 以下のような設定を適用:
{
  "*": true,
  "github.copilot": false,
  "github.copilot-chat": false
}

設定の優先順位

  1. グループポリシー(最優先)
  2. ユーザー設定(settings.json
  3. デフォルト設定

参考リンク

Discussion