接続許可リスト: ウェブ アプリケーションのネットワーク アクセスを保護する

公開日: 2026 年 9 月 23 日

最新のウェブアプリはますます複雑になり、サードパーティのスクリプトや、生成 AI から動的に生成されたコードが統合されることもあります。このような統合は強力ですが、データ漏洩のリスクが大幅に高まります。このリスクに対処するため、Chrome 152 では、ドキュメントとワーカーの厳格なネットワーク サンドボックスを作成できる新しいセキュリティ メカニズムである接続許可リストが導入されます。

ネットワーク通信の保護の課題

依存関係を管理し、サイトのアーキテクチャを保護するには、ページが通信するエンドポイントを明示的に制御する必要があります。悪意のあるスクリプトや AI 生成のハルシネーション コードは、アプリレベルのチェックをバイパスして、機密情報を不正なサーバーに送信する可能性があります。

コンテンツ セキュリティ ポリシー(CSP)は、ページで読み込みと実行が可能なものを制御するための強力なツールですが、ページが通信する場所を制限するようには設計されていません。CSP はリクエストを特定のタイプに分類しますが、広範なネットワーク境界のみが必要な場合は、粒度が過剰になります。さらに、CSP はすべてのウェブ プラットフォーム API を網羅しているわけではなく、DNS プリフェッチ、ナビゲーション、WebRTC などのメカニズムは除外されています。

接続許可リストとは

接続許可リストは、ページから発信されるすべてのネットワーク接続のゲートキーパーをブラウザにすることで、これらのリスクに対処します。これらは、Fetch や他のウェブ プラットフォーム API を使用して開始された明示的なネットワーク リクエストを管理するための直接的で効率的なアプローチを提供します。

Connection-Allowlist HTTP レスポンス ヘッダーを送信することで、すべてのネットワーク通信で許可される正確な URL パターンを指定します。これにより、フレームワーク レベルのデフォルト拒否ファイアウォールが適用されます。接続を確立する前に、ブラウザは宛先を許可リストと照合し、一致しない場合はネットワーク レベルでブロックします。

接続許可リストの使用方法

このポリシーでは、標準化された URLPattern 構文を使用して、許可されるエンドポイントを定義します。このポリシーは、ウィンドウまたはワーカー コンテキストごとに個別に適用されます。

基本的な構成

response-origin トークンを使用すると、特定の API エンドポイントとともに、レスポンスが配信されるオリジンを許可リストに動的に追加できます。

Connection-Allowlist: ("https://api.example.com/*" response-origin)

リダイレクトと WebRTC の処理

デフォルトでは、接続許可リストはすべてのリダイレクトと WebRTC 接続をブロックします。許可リストが適用されている場合、明示的にオプトインしない限り、リダイレクトが発生するリクエストはすべてブロックされます。

Connection-Allowlist: ("https://api.example.com/*"); redirects=allow; webrtc=allow

違反の報告

サービスを中断せずに潜在的な障害をモニタリングするには、レポート専用モードでこの機能をデプロイします。これにより、ポリシーが解析され、接続をブロックせずに、指定された Reporting API エンドポイントに違反レポートが送信されます。選択したエンドポイント名を実際の URL にマッピングするように、Reporting-Endpoints HTTP レスポンス ヘッダーも構成してください。

Connection-Allowlist-Report-Only: ("https://trusted.com/*"); report-to=security-endpoint

主なユースケース

接続許可リストは、セキュリティの高い環境や動的な環境向けに設計されています。特に次のような場合に役立ちます。

  • 生成 AI の保護: ウェブアプリが生成されたコードや信頼できないコード(AI 生成 UI や開発サンドボックスなど)を実行する場合、そのコードが外部ドメインにデータを漏洩するのを防ぐことができます。
  • サードパーティの監視: サードパーティのスクリプトやウェブゲームを埋め込む場合、それらが不正なサーバーにデータを送信しないことを保証できます。たとえそれらが侵害された場合でも同様です。
  • アーキテクチャ上の保護: アプリの機密性の高い部分の周囲に厳格なネットワーク境界を適用し、承認済みのバックエンドとのみ通信が行われるようにできます。

この機能は、既存のコンテンツ セキュリティ ポリシー(CSP)ベースの設定に対するプログレッシブ エンハンスメントとして使用できます。

接続の許可リストをテストする

接続許可リスト機能は、Chrome 152 以降で正式に利用可能になります。サーバーのレスポンスにヘッダーを追加することで、ウェブ アプリケーションの保護を今すぐ開始できます。

Chrome DevTools の [ネットワーク] パネルでブロックされた接続。
Chrome DevTools の [ネットワーク パネル] で接続がブロックされている。

開発中に構成をテストするには:

  1. Connection-Allowlist HTTP レスポンス ヘッダーを送信するようにローカル開発サーバーを構成します。
  2. Chrome DevTools を開き、[ネットワーク] パネルでブロックされているリクエストを確認するか、[問題] タブでヘッダー解析の詳細なレポートを確認します。

参考情報