Chrome 155 で chrome.debugger のエンタープライズ ポリシーの適用を強化

公開日: 2026 年 9 月 8 日、最終更新日: 2026 年 11 月 4 日

Chrome 155 以降、chrome.debugger API を使用する拡張機能にエンタープライズ ポリシーの制限が適用される方法が更新されます。

この変更は、管理者が runtime_blocked_hosts、DisableScreenshots、またはデータ損失防止(DLP)ルールを明示的に構成した管理対象ブラウザで実行されている拡張機能にのみ影響します。

拡張機能が管理対象外のブラウザで実行されている場合、またはこれらの特定のポリシー制限がないエンタープライズ環境で実行されている場合、chrome.debugger は変更なしで正常に動作し続けます。

スケジュールとロールアウト

  • Chrome 155 ベータ版: 2026 年 9 月 16 日
  • Chrome 155 Stable のロールアウト: 2026 年 10 月 6 日
  • ロールバック: 2026 年 11 月 3 日

Chrome 155 の主な変更点

以下の変更は、企業で管理されているブラウザにのみ影響します。

  • ホストの制限: 企業ポリシー(ExtensionSettings)で、拡張機能に対して空でないブロックされたホストのリスト(runtime_blocked_hosts)が構成されている場合、chrome.debugger.attach() はすべてのターゲットで拒否され、次のメッセージが表示されます。

    "Host access is restricted by policy."

    これは、特定のオリジンが runtime_allowed_hosts に含まれている場合でも同様です。

  • スクリーンショットと DLP の制限: スクリーンショットのキャプチャがエンタープライズ ポリシー(DisableScreenshots またはデータ損失防止(DLP)ルール)によって無効になっている場合、chrome.debugger.attach() は失敗し、次のエラーが返されます。

    "Screenshot capture is restricted by policy."

個人用プロファイルと管理対象外の環境では、引き続き chrome.debugger へのアクセスが制限されません。

chrome.debugger API は、任意のスクリプト評価やネットワーク インターセプトなどの強力な機能に Chrome DevTools Protocol(CDP)から直接アクセスできるようにします。CDP はウェブ プラットフォームのオリジンモデルの下で動作するため、オリジンベースのフィルタリングでは安全に制限できません。Chrome 155 では、オール オア ナッシング モデルでこの問題を解決し、各 chrome.debugger.attach() 呼び出しでエンタープライズ ポリシーを事前に検証します。

アタッチの拒否を適切に処理する

拡張機能のコードでアタッチの拒否を常に処理して、企業ユーザーに明確なフィードバックを提供します。

// Promise-based (Manifest V3)
try {
  await chrome.debugger.attach({ tabId }, "1.3");
} catch (error) {
  if (error.message.includes("Host access is restricted by policy")) {
    console.warn("Debugger attach blocked: Extension has host restrictions configured by enterprise policy.");
  } else if (error.message.includes("Screenshot capture is restricted by policy")) {
    console.warn("Debugger attach blocked: Screenshots or DLP restrictions are enforced by enterprise policy.");
  } else {
    console.warn("Debugger attach failed:", error.message);
  }
}

// Callback-based
chrome.debugger.attach({ tabId }, "1.3", () => {
  if (chrome.runtime.lastError) {
    console.warn("Debugger attach failed:", chrome.runtime.lastError.message);
  }
});

代替の高レベル API を検討する

拡張機能が CDP への直接アクセスを厳密に必要としない場合は、きめ細かいホスト権限をサポートし、企業のホスト許可リストおよび拒否リストと連携する、より高レベルの拡張機能 API への移行を検討してください。

  • chrome.scripting API を使用して、スクリプトを実行し、許可されたページにスタイルを挿入します。
  • chrome.declarativeNetRequest API を使用して、ネットワーク リクエストを宣言的に検査、変更、ブロックします。
  • 標準のホスト権限で chrome.cookies API を使用します。

企業の管理者向けのガイダンス

更新(2026 年 11 月 4 日): Chrome 155 のポリシー適用は、サーバー側の設定更新によってロールバックされました。この更新は Chrome によって自動的にダウンロードされ、再起動後に適用されます。この更新を待たずに適用を無効にするには、--disable-features=ExtensionDebuggerStrictPolicyRestrictions コマンドライン フラグを指定して Chrome を起動します。

ロールバックが有効になるまでは、以下のガイダンスが引き続き適用されます。

拡張機能ポリシーを管理する企業の管理者は、デバッガ権限を必要とする拡張機能は、部分的なホスト制限(runtime_blocked_hosts)では動作しないことに注意する必要があります。拡張機能に chrome.debugger が必要な場合は、ExtensionSettings でブロックされたホストが構成されていない必要があります。

DisableScreenshots またはデータ損失防止(DLP)ルールを使用してスクリーンショットのキャプチャが無効になっている場合、chrome.debugger.attach() は失敗します。

ホストのブロックリストまたはスクリーンショットの制限が必要な組織は、内部拡張機能または承認済み拡張機能を chrome.scripting や chrome.declarativeNetRequest などの上位レベルの API に移行できるかどうかを確認する必要があります。

フィードバックを共有

詳細については、chrome.debugger API ドキュメントをご覧ください。ご質問やフィードバックがございましたら、Chromium 拡張機能の Google グループまでお問い合わせください。