Chrome 115 では、ストレージ API、Service Worker API、通信 API がサードパーティのコンテキストでパーティション分割されています。サードパーティのコンテキストで使用される影響を受ける API は、同一オリジン ポリシーによって分離されるだけでなく、トップレベル コンテキストのサイトでも分離されます。サードパーティのストレージ パーティショニングのサポートを実装する時間がないサイトは、非推奨トライアルに参加することで、一時的にパーティショニング解除(同一オリジン ポリシーによる分離を継続し、トップレベル サイトによる分離を削除)し、サイトに埋め込まれたコンテンツ内のストレージ API、Service Worker、通信 API の以前の動作を復元できます。
一般的なパーティショニング解除の非推奨トライアルに加えて、window.sessionStorage
専用の非推奨トライアルに参加できます。このトライアルは、一部のサイトで Firebase signInWithRedirect
フローを移行する必要があるためにご利用いただけます。この移行の詳細については、こちらの記事をご覧ください。
利用可能な非推奨トライアル
Chrome 115 以降、2 つの非推奨トライアルを公開します。
DisableThirdPartyStoragePartitioning
: トップレベル サイトで、ページに埋め込まれたサードパーティ コンテンツのストレージ、Service Worker、通信 API のパーティショニングを解除(最上位サイトによる分離を一時的に削除)できるようにします。DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
: サイトはナビゲーション間でsessionStorage
のパーティショニングを解除できます。
これにより、Chrome 115 でサードパーティのパーティショニングがロールアウト プロセスを開始する前に、サイトで問題を検出して修正できるようになります。
以下に、非推奨トライアルの概要と今後の見通しを示します。このトライアル中にフィードバックがある場合や、問題が発生した場合は、Partitioned Storage Deprecation Trial GitHub リポジトリからお知らせください。
DisableThirdPartyStoragePartitioning
DisableThirdPartyStoragePartitioning
のサポート終了トライアルにトップレベル サイトを登録した場合、サードパーティのコンテキストでは Storage API(localStorage、sessionStorage、IndexedDB、Quota など)、通信 API(BroadcastChannel、SharedWorkers、WebLocks など)、ServiceWorker API はパーティション分割されません。
例:
詳しくは、プロジェクトの説明をご覧ください。
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
非推奨トライアルに登録すると、登録済みのオリジンにタブに移動すると、同じオリジンのすべてのクロスサイト iframe は、Window.sessionStorage
についてのみ、その特定のタブの存続期間中のみパーティション分割されません。DisableThirdPartyStoragePartitioning
の非推奨トライアルは、登録済みのオリジンに埋め込まれたすべてのサードパーティ コンテキストに影響しますが、DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
の非推奨トライアルは特定のオリジンを登録し、サードパーティのコンテキストに埋め込まれた場合にパーティション分割されていないアクセスを受け取ります。
例:
ウェブ デベロッパーへの影響
サイトは、サードパーティのコンテキストにおけるパーティション分割されていないストレージ、Service Worker、通信 API の使用状況を監査し、必要に応じて、これらの非推奨トライアルが期限切れになる前にサードパーティのパーティショニングに備える必要があります。2024 年 9 月 3 日の Chrome 127 リリースをもって、これらの非推奨化トライアルは終了します。
ページに埋め込まれたサードパーティ コンテンツのストレージのパーティショニングを解除するようブラウザに指示するには、トップレベル サイトで、非推奨トライアルのいずれかまたは両方を登録し、対応するトライアル トークンを HTTP レスポンス ヘッダーに追加する必要があります(下記の詳細な例を参照)。
各非推奨トライアルは Windows、Mac、Linux、ChromeOS、Android でご利用いただけます。
非推奨トライアルに参加する
以下では、非推奨トライアルのいずれかまたは両方の参加方法の概要を説明します。詳しい手順については、オリジン トライアルを使ってみるをご覧ください。
- Chrome バージョン 115 以降を起動し、
ThirdPartyStoragePartitioning
フラグが有効になっていることを確認します。 - 最上位サイトに埋め込まれたサードパーティのコンテンツの動作が、ストレージ パーティショニングによって破損していることを確認します(そうでない場合は、非推奨トライアルに参加する必要はありません)。
- 非推奨トライアルに登録し、以下にアクセスしてドメインのトークンを取得します。
- 最上位のサイトで、サードパーティの埋め込みコンテンツでストレージ、Service Worker、通信 API のパーティション分割を解除する場合:
DisableThirdPartyStoragePartitioning
- トップレベル サイトでナビゲーション間で sessionStorage のパーティション分割を解除する場合:
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
- 最上位のサイトで、サードパーティの埋め込みコンテンツでストレージ、Service Worker、通信 API のパーティション分割を解除する場合:
- オリジン トライアル トークンをページに追加します。
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
トライアルでは、トップレベル サイトの HTTP レスポンス ヘッダーにOrigin-Trial: <DEPRECATION TRIAL TOKEN>
を追加できます。<DEPRECATION TRIAL TOKEN>
には、非推奨トライアルの登録時に取得したトークンが含まれます。このコマンドは HTML ` でも実行できます。 インスタンスにしか適用できませんDisableThirdPartyStoragePartitioning
トライアルでは、JavaScript で挿入した HTML<meta>
タグでトークンを指定する必要があります。HTTP ヘッダー メソッドはサポートされていません。
ThirdPartyStoragePartitioning
を有効にした状態で Chrome 115 以降でウェブサイトを読み込み、パーティショニング関連の問題が適切に軽減されていることを確認します。- 非推奨トライアルへの参加を停止するには、ステップ 2 で追加したトークンを削除します。
DisableThirdPartyStoragePartitioning
非推奨トライアルはサードパーティ オリジン トライアル機能をサポートしていますが、トークンを挿入するサードパーティのスクリプトは、パーティショニングが適用されていないサードパーティの iframe が読み込まれる前に、トップレベル フレームで評価される必要があります。DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
非推奨トライアルは、サードパーティのオリジン トライアルをサポートしていません。対象となるタブの存続期間のある時点で登録者はトップレベル サイトである必要があるためです。Chrome のオリジン トライアルのトラブルシューティングのガイドには、トークンが正しく構成されていることを確認するための詳細なチェックリストが記載されています。
フィードバックを共有する
フィードバックや問題がありましたら、Partitioned Storage Deprecation Trial GitHub リポジトリまでお送りください。