Microsoft Entra documentation update:チャットプラグインID永続化の影響と確認ポイント

Microsoft Entra documentation update: chat: persist installed plugin identity でまず押さえるべき結論は、Microsoft Entra IDの認証方式や条件付きアクセスが直接変わる更新ではなく、VS Code/GitHub Copilot系のチャットプラグインを再読み込み後も正しく復元するための実装変更だという点です。

ただし、Microsoft Entraで認証する社内プラグイン、AzureやMicrosoft Graphにアクセスする開発者向けプラグイン、プラグイン配布を自動化している管理スクリプトには影響が出る可能性があります。管理者は「Entra側の権限・同意」と「クライアント側のinstalled.jsonを読む運用」の両方を確認するのが安全です。

目次

Microsoft Entra documentation updateで確認すべき変更点

今回の「chat: persist installed plugin identity」は、2026年5月21日公開・更新情報として扱われる内容で、元の公式PRは2026年5月20日に microsoft/vscode の main ブランチへマージされています。PRでは、マーケットプレイス経由でインストールされたチャットプラグインが、VS Codeの再読み込みや再起動後も復元できるように、インストール済みプラグインの識別情報を保持する変更が説明されています。(GitHub)

重要なのは、保存する情報を増やしすぎない設計です。今回の変更では、installed.json にプラグインURIとマーケットプレイス情報だけでなく、プラグイン名も保存されます。一方で、説明文やソース記述子などの完全なプラグインメタデータは保存せず、必要時にマーケットプレイスデータを再読込して復元する方式です。(GitHub)

観点変更内容管理者・開発者が見るべきポイント
installed.jsonpluginUri、marketplace に加えて name を保持外部ツールや棚卸しスクリプトが固定スキーマ前提になっていないか確認
復元処理現行エントリはプラグイン名で照合し、古いエントリはインストールURIでフォールバックプラグイン名の変更、重複、マーケットプレイス定義変更に注意
メタデータ完全なソース記述子は永続化せず、マーケットプレイスから再取得installed.json を唯一の真実として扱う設計は避ける
GitHub由来プラグインawesome-copilot の azure のようなGitHubソースのマーケットプレイスプラグインもテスト対象社内GitHubリポジトリ配布のプラグインでも再起動テストが必要
インストールURIpackage/git/相対パスの扱いを整理ローカルパス、Gitリポジトリ、マーケットプレイス配布を混在させる環境では検証が必要

Microsoft Entraへの影響は「認証基盤」ではなく「連携プラグイン運用」に出る

この更新をMicrosoft Entraのセキュリティ更新として見る場合、誤解しやすい点があります。今回の変更は、Microsoft Entra IDの条件付きアクセス、MFA、トークン発行、アプリ登録そのものを変更するものではありません。影響が出るのは、Microsoft Entraで保護されたAPIへアクセスするチャットプラグインを、VS CodeやCopilotのプラグイン機構で利用しているケースです。

たとえば、次のような環境では確認が必要です。

環境影響の可能性確認すべき内容
Azure操作やMicrosoft Graph呼び出しを行うチャットプラグインを使っている高プラグイン復元後も同じアプリ登録・権限で動作するか
installed.json を読んでプラグイン一覧を棚卸ししている高name 追加後もJSONパースや比較処理が壊れないか
社内マーケットプレイスやGitHubリポジトリからプラグインを配布している中〜高プラグイン名、マーケットプレイス参照、URIの一貫性
一般的なMicrosoft Entra管理だけをしている低直接のテナント設定変更は基本的に不要
条件付きアクセスやMFAポリシーのみを運用している低この更新単体でポリシー変更は不要

実務上は、「Entra側の設定が変わった」と考えるより、Entraで認証する開発者ツールやAIプラグインの識別・復元方法が変わると捉える方が正確です。

管理者が最初に確認すべき設定

エンタープライズアプリの権限と同意を棚卸しする

Microsoft Entraで最も優先すべき確認は、プラグインや関連アプリに過剰な権限が付与されていないかです。Microsoft Learnでは、エンタープライズアプリに付与済みの権限を確認し、必要に応じて管理者同意を取り消せる手順が案内されています。対象は、ユーザー同意または管理者同意によってテナントに追加されたアプリです。(Microsoft Learn)

確認手順の目安は次の通りです。

手順操作判断基準
1Microsoft Entra管理センターで「エンタープライズ アプリケーション」を開くプラグイン、Copilot連携、Azure開発支援ツールに関連するアプリを抽出
2対象アプリの「アクセス許可」を確認Microsoft GraphやAzure Resource Managerへの権限が必要最小限か確認
3Admin consent / User consent を分けて確認全社同意が必要な理由を説明できない権限は見直し対象
4不要な権限を取り消す業務影響があるため、先にテストユーザーで検証
5アプリ所有者と利用部門を記録今後の更新時に問い合わせ先が不明になる状態を避ける

特に、テナント全体の管理者同意は慎重に扱う必要があります。Microsoftは、テナント全体の管理者同意によって、アプリ発行元が組織データの大きな範囲へアクセスしたり、高権限操作を行えたりする可能性があるため、要求権限を慎重に確認するよう説明しています。(Microsoft Learn)

管理者同意ワークフローを使う

開発者が新しいチャットプラグインやAI連携ツールを試す組織では、ユーザーが自由に同意できる状態にしておくと、知らないうちに外部アプリがテナントへ追加されることがあります。

Microsoft Entraには、ユーザーが同意できないアプリについて管理者承認を依頼できる「管理者同意ワークフロー」があります。レビュワーがリクエストを確認し、承認・拒否できるため、開発スピードとガバナンスを両立しやすくなります。(Microsoft Learn)

運用では、次のように分けると判断しやすくなります。

アプリの種類推奨対応
社内開発プラグイン管理者同意ワークフローで申請、アプリ所有者を必ず設定
検証用プラグインテストテナントまたは限定グループで先行検証
Microsoft Graphの高権限を要求するアプリセキュリティ担当者またはID管理者のレビュー必須
読み取り専用の低リスクアプリ権限分類や同意ポリシーに沿って承認
発行元や用途が不明なアプリ原則として承認しない

アプリ登録のセキュリティ項目を見直す

Microsoft Entraアプリ登録は、設定ミスによって停止や侵害につながる可能性があります。Microsoft Learnでも、アプリ登録のセキュリティでは資格情報、リダイレクトURI、暗黙的フロー、アプリ所有者などを定期的に確認する重要性が説明されています。(Microsoft Learn)

プラグイン連携で特に見るべき項目は次の通りです。

項目確認内容よくある失敗
APIアクセス許可必要なスコープだけに絞られているか開発時の広い権限を本番にも残す
管理者同意誰が、何のために同意したか記録があるか退職者や不明な管理者の同意が残る
リダイレクトURI実際のクライアント方式と一致しているか使っていないURIを放置する
クライアントシークレット期限、保管場所、ローテーション手順があるか長期シークレットを共有フォルダやコードに置く
証明書有効期限監視があるか期限切れ当日に障害化する
所有者複数名・運用チームが設定されているか個人1名だけが所有者になっている

チャットプラグインは利用者から見ると「VS Codeの機能」に見えますが、裏側ではMicrosoft Entraのアプリ登録やサービスプリンシパルとして扱われる場合があります。Microsoft Entraでは、ワークロードIDはアプリケーション、サービスプリンシパル、マネージドIDを含む概念であり、サービスプリンシパルは特定テナント内でアプリが実際に何をできるかを表します。(Microsoft Learn)

開発者が確認すべき実装上の注意点

installed.json を固定スキーマで読まない

今回の変更で、installed.json にはオプションの name が追加されます。PRの実装では、pluginUri と marketplace に加え、name を読み書きする形に変更されています。古いエントリでは name が存在しない可能性があるため、外部ツールは「ある前提」でも「ない前提」でもなく、両方に耐える必要があります。(GitHub)

簡略化すると、今後は次のような形を想定しておくと安全です。

{
  "version": 1,
  "installed": [
    {
      "pluginUri": "file:///path/to/plugin",
      "marketplace": "awesome-copilot",
      "name": "azure"
    }
  ]
}

外部ツールで避けたい実装は次の通りです。

避けたい実装理由推奨対応
installed の各要素が2項目だけだと仮定するname 追加で比較・検証に失敗する未知のプロパティを許容する
name が必ず存在すると仮定する旧形式のエントリでは存在しない場合があるname がない場合はURIベースで扱う
installed.json に完全なメタデータがある前提で処理する完全な記述子は保存されない設計マーケットプレイス定義やプラグインマニフェストを参照する
ファイル差分だけでプラグインの安全性を判断する権限や認証はEntra側にも存在するEntraのアプリ権限・同意とセットで確認する

プラグイン名の変更は移行扱いにする

今回の復元ロジックでは、現行エントリは保存されたプラグイン名でマーケットプレイスデータと照合し、古いエントリではインストールURIでフォールバックします。(GitHub)

そのため、プラグイン開発者は name を単なる表示名のように軽く扱わない方が安全です。名前を変更すると、再読み込み後に別物として扱われたり、復元できなかったりする可能性があります。

名前を変更する必要がある場合は、少なくとも次を確認してください。

確認項目内容
既存ユーザーの復元旧 installed.json を使った再起動テストを行う
マーケットプレイス定義旧名と新名の扱いを明確にする
ドキュメント再インストールが必要か、移行可能かを明記する
自動展開スクリプト旧名で検索・削除・更新していないか確認
Entraアプリ登録プラグイン名変更とアプリ表示名変更を混同しない

特に、社内マーケットプレイスで「azure」「security」「devops」のような一般的な名前を使っている場合、将来の重複リスクがあります。プラグイン名は、表示上の分かりやすさだけでなく、運用上の一意性も考えて決めるべきです。

再読み込み・再起動テストを必ず入れる

この変更の主目的は、マーケットプレイス経由のプラグインが再読み込み後も復元されることです。したがって、開発者のテストは「インストール直後に動くか」だけでは不十分です。

最低限、次のテストを入れると実運用に近づきます。

テスト確認内容
新規インストール後の再読み込みプラグインが一覧に残り、正しいメタデータで表示されるか
VS Code再起動後の復元installed.json から正しく復元されるか
旧形式データの読み込みname がないエントリでも壊れないか
GitHubソースのマーケットプレイスGitHub参照からメタデータを再取得できるか
マーケットプレイス定義変更後name、source、repository 変更時の挙動
オフライン・社内プロキシ環境メタデータ再取得が失敗した場合の表示やエラー
Entra認証後の利用復元後もサインイン、同意、API呼び出しが期待通りか

展開前に行うべき移行チェック

今回の更新で、Microsoft Entraテナント全体に対する一括移行作業が必ず必要になるわけではありません。むしろ、確認すべきなのは「どの端末・どのチームが、チャットプラグインとEntra認証を組み合わせて使っているか」です。

展開前のチェックは次の順序で進めると効率的です。

フェーズ作業完了条件
対象把握VS Code、Copilot、チャットプラグイン利用チームを洗い出す対象ユーザーとプラグイン一覧が分かる
ファイル確認installed.json を読む社内ツールやスクリプトを調べるname 追加に耐えられる
Entra確認関連アプリ登録、エンタープライズアプリ、同意済み権限を確認不要・過剰な権限を整理済み
パイロット少人数で更新後の再起動・再ログイン・API実行を確認主要業務が再現できる
ログ監視サインインログ、サービスプリンシパルの利用状況を確認失敗増加や不審なアクセスがない
段階展開部門単位で展開問い合わせ先とロールバック手順が共有済み

Microsoft Entraのサインインログでは、ユーザー、利用アプリケーション、アクセス先リソースといった観点でサインイン活動を確認できます。また、サービスプリンシパルやマネージドIDのサインインも種類として扱われます。プラグイン更新後に認証エラーが増えた場合は、まず対象アプリでフィルターして失敗パターンを確認しましょう。(Microsoft Learn)

セキュリティ面で注意すべきポイント

installed.json に秘密情報を置かない

今回のPRは、installed.json を外部ツールから読みやすく保ちながら、必要最小限の識別情報を永続化する設計です。保存されるのはプラグインURI、マーケットプレイス、プラグイン名であり、完全なソース記述子は保存しない方針です。(GitHub)

そのため、開発者が独自に installed.json へアクセストークン、クライアントシークレット、個人用アクセストークン、社内APIキーを書き込む運用は避けてください。ファイル自体は認証情報の保管場所ではありません。

ただし、秘密情報が入らないからといって無制限に共有してよいわけでもありません。pluginUri や marketplace から、社内リポジトリ名、ローカルパス、利用中の開発ツール構成が分かる場合があります。サポート依頼やログ収集で共有する際は、パスやリポジトリ名の扱いを確認してください。

プラグインIDとEntraアプリIDを混同しない

今回永続化されるプラグイン名は、VS Code側でマーケットプレイスプラグインを識別・復元するための情報です。一方、Microsoft Entraで認証や認可に使うのは、アプリケーションID、サービスプリンシパル、スコープ、アプリロールなどです。

混同すると、次のような事故につながります。

誤解起こり得る問題正しい見方
プラグイン名が同じならEntra権限も同じ別アプリ登録に接続している可能性を見落とすEntraアプリIDで確認する
installed.json にあるから承認済みテナント同意の有無を確認しないEnterprise appsの権限を見る
再起動後に復元されたから安全不要なGraph権限が残っている可能性同意済み権限を棚卸しする
プラグイン削除でEntra権限も消えるエンタープライズアプリや同意が残るEntra側で権限を取り消す

よくあるトラブルと切り分け

更新後にプラグインが消えたように見える

まず、installed.json に対象プラグインの pluginUri、marketplace、name があるか確認します。name がない古いエントリでもフォールバック処理は考慮されていますが、マーケットプレイス定義が変わっている、GitHubリポジトリにアクセスできない、プロキシで取得に失敗している場合は復元できない可能性があります。

確認順は次の通りです。

  1. installed.json が壊れたJSONになっていないか確認する
  2. 対象エントリに marketplace があるか確認する
  3. name がある場合、マーケットプレイス側のプラグイン名と一致するか確認する
  4. 社内プロキシやGitHubアクセス制限でメタデータ取得が失敗していないか確認する
  5. プラグイン名を最近変更した場合は、旧名データからの復元テストを行う

認証プロンプトが増えた

この更新自体はMicrosoft Entraのトークン発行仕様を変えるものではありません。認証プロンプトが増えた場合は、プラグイン復元ではなく、次を疑います。

原因候補確認場所
アプリ登録のリダイレクトURI変更App registrations
APIアクセス許可やスコープ変更API permissions
管理者同意の取り消し・未実施Enterprise applications > Permissions
条件付きアクセス変更Conditional Access
クライアントシークレットや証明書の期限切れCertificates & secrets
サインイン失敗Sign-in logs

棚卸しスクリプトが失敗する

installed.json を処理するスクリプトが失敗する場合、最も多い原因はスキーマの固定化です。たとえば、JSONの各エントリを完全一致で比較していたり、未知のプロパティがあるとバリデーションエラーにしていたりすると、name 追加で壊れます。

修正方針は単純です。必要なプロパティだけを読む、未知のプロパティを無視する、name は任意として扱う。この3点を満たせば、今回の変更だけでなく今後の拡張にも強くなります。

管理者・開発者向けチェックリスト

公開・展開前に、次の項目を確認してください。

チェック項目管理者開発者
関連するEntraアプリ登録を把握している○○
エンタープライズアプリの同意済み権限を確認した○
テナント全体の管理者同意が必要最小限である○
管理者同意ワークフローまたは申請ルールがある○
installed.json の name 追加にツールが対応している○
旧形式の installed.json で再起動テストをした○
プラグイン名変更時の移行方針がある○
トークンやシークレットをローカル管理ファイルに保存していない○○
更新後のサインインログを確認できる○
問い合わせ先とロールバック方法を共有している○○

まず取るべき行動

このMicrosoft Entra documentation updateを受けて、最初に行うべきことは大きく3つです。

まず、VS CodeやCopilotのチャットプラグインを業務で使っているチームを洗い出します。次に、installed.json を読む社内ツール、端末管理スクリプト、プラグイン棚卸し処理が name 追加に耐えられるか確認します。最後に、Microsoft Entra側で関連アプリの権限、管理者同意、サインインログを見直します。

今回の変更は、単体ではMicrosoft Entraの認証ポリシーを変えるものではありません。しかし、AIプラグインや開発者ツールがEntra認証と結び付く環境では、クライアント側の「プラグイン識別」とEntra側の「アプリ権限」を分けて管理することが、今後の安全な運用につながります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次