公開日: 2026 年 9 月 8 日
Chrome 155 以降では、エンタープライズ ポリシーの制限が chrome.debugger API を使用する拡張機能に適用される方法が変更されます。
この変更は、管理者が runtime_blocked_hosts、DisableScreenshots、またはデータ損失防止(DLP)ルールを明示的に構成した管理対象ブラウザで実行されている拡張機能にのみ影響します。
管理対象外のブラウザで拡張機能が実行されている場合、またはこれらの特定のポリシー制限のないエンタープライズ環境で実行されている場合、chrome.debugger は変更なしで正常に動作し続けます。
タイムラインとリリース
- Chrome 155 ベータ版: 2026 年 9 月 16 日
- Chrome 155 安定版のロールアウト: 2026 年 10 月 6 日
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() 呼び出しでエンタープライズ ポリシーを事前に検証する all-or-nothing モデルでこの問題を解決します。
推奨されるデベロッパーの対応
添付ファイルの拒否を適切に処理する
拡張機能のコードでアタッチの拒否を常に処理し、企業ユーザーに明確なフィードバックを提供します。
// 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.scriptingAPI を使用して、スクリプトを実行し、許可されたページにスタイルを挿入します。chrome.declarativeNetRequestAPI を使用して、ネットワーク リクエストを宣言的に検査、変更、ブロックします。- 標準のホスト権限で
chrome.cookiesAPI を使用します。
企業の管理者向けのガイダンス
拡張機能ポリシーを管理する企業管理者は、デバッガ権限を必要とする拡張機能は部分的なホスト制限(runtime_blocked_hosts)では動作しないことに注意してください。拡張機能が chrome.debugger を必要とする場合、ExtensionSettings でブロックされたホストが構成されていてはなりません。
DisableScreenshots またはデータ損失防止(DLP)ルールを使用してスクリーンショットのキャプチャが無効になっている場合、chrome.debugger.attach() は失敗します。
ホスト ブロックリストやスクリーンショットの制限を必要とする組織は、内部拡張機能や承認済み拡張機能を chrome.scripting や chrome.declarativeNetRequest などの上位レベルの API に移行できるかどうかを確認する必要があります。
フィードバックを共有
詳細については、chrome.debugger API ドキュメントをご覧ください。ご質問やフィードバックがある場合は、Chromium Extensions の Google グループにお問い合わせください。