Chrome でサードパーティ Cookie の利用可否を検出する

Chrome では、ユーザーがブラウジング中にサードパーティ Cookie の処理方法を選択できる新しい機能を提案しています。サイトやサービスでは、特定のコンテキストでサードパーティ Cookie を使用できるかどうかを検出することが必要になる場合があります。Chrome には、埋め込みコンテンツのサードパーティ Cookie へのアクセスを検出するための主に 2 つの方法があります。hasStorageAccess JavaScript メソッドを使用する方法と、Sec-Fetch-Storage-Access ヘッダーを監視する方法です。

プライバシー サンドボックスでは、特定の条件を満たす場合に、特定のフレームにサードパーティ Cookie へのアクセスを許可する API が導入されています。そのため、分割されていない Cookie へのアクセスを埋め込みごとに検出できるようにすることが重要です。

iframe でのサードパーティ Cookie へのアクセスを検出する

iframe のコンテンツが、ユーザーのアドレスバーに表示されているサイトとは異なるサイトにホストされている場合、クロスサイトと見なされ、サードパーティ Cookie が制限される可能性があります。iframe は、await document.hasStorageAccess() を呼び出すことで、現在サードパーティ Cookie にアクセスできるかどうかを検出できます。このメソッドは、フレームがパーティショニングされていない Cookie にアクセスできるかどうかに応じて、true または false を返します。

iframe が Storage Access API(SAA)を使用してパーティション化されていないクロスサイト Cookie にアクセスする場合(SAA 単独で、または 関連ウェブサイト セットで使用)、storage-access 権限を確認して、フレームがパーティション化されていない Cookie へのアクセスをオプトインできるかどうかを判断できます。

HTTP リクエストでサードパーティ Cookie へのアクセスを検出する

Chrome 133 以降では、認証情報付きリクエストとともにヘッダー Sec-Fetch-Storage-Access が送信され、呼び出しコンテキストがパーティショニングされていない Cookie にアクセスできるかどうかがサーバーに通知されます。このヘッダーには、次のいずれかの値が含まれます。

  • none: 埋め込みはパーティショニングされていない Cookie にアクセスできない
  • inactive: 埋め込みにはパーティショニングされていない Cookie にアクセスする権限がありますが、有効になっていません
  • active: 埋め込みはパーティショニングされていない Cookie にアクセスできます

埋め込みにパーティション分割されていない Cookie へのアクセスを許可する条件

パーティショニングされていないサードパーティ Cookie へのアクセスは、これらの Cookie が必要な機能を提供する場合をサポートするために、さまざまな方法で許可できます。次のメソッドを使用すると、パーティショニングされていない Cookie へのアクセスが許可されます。アクセス権が付与される前に requestStorageAccess() または requestStorageAccessFor() を呼び出す必要がある場合もあります。

メソッド 例 requestStorageAccess を呼び出す必要がありますか?
Storage Access API プロンプト ストレージへのアクセスを許可するよう求められ、ユーザーが [許可] を選択します。 ○
Federated Credential Management ユーザーがフェデレーション ID プロバイダ(IdP)でログインします。IdP のフレームがストレージ アクセスをリクエストします。 ○
関連ウェブサイト セット 埋め込みと埋め込み元が同じ RWS に属している。 ○
ユーザー設定で 3PC が有効になっている ユーザーは、すべてのブラウジングで 3PC を許可するか、特定のオリジンでのみ許可するかを選択します。 いいえ
ヒューリスティックに基づく例外 Chrome はヒューリスティクス パターンを検出し、パーティション分割されていない Cookie へのアクセスを自動的に許可します。requestStorageAccess() の呼び出しは必要ありません。 いいえ
一時的な例外 (猶予期間など) サイトまたはサービスが、より耐久性の高いソリューションに移行する際に、一時的な Chrome 例外に登録されています。 いいえ
エンタープライズ ポリシー 会社の Chrome Enterprise 管理者が、一部またはすべてのトラフィックに 3PC を許可するように選択している。 いいえ