この記事は Katharina Familia Almonte による The AMP Blog の記事 "Cookie classification on AMP" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

投稿者: Google の AMP Project グローバル プロダクト リーダー、Katharina Familia Almonte



昨年、ウェブ全体のプライバシーとセキュリティを改善する継続的な作業の一環として、Chrome に Cookie 分類スキームを導入する計画についてお知らせしました。この計画は、2020 年 2 月の Chrome 80 で実現される見込みです。Mozilla は、Firefox でクロスサイト Cookie の SameSite=None; Secure 要件を実装する予定で、新しい Cookie 分類モデルのサポートを確約しています。Microsoft は、Microsoft Edge 80 でまずは試験運用版としてこのモデルの実装を始める計画を発表しました

AMP チームはユーザーのプライバシー保護に注力しています。このブログ投稿では、まもなく行われるブラウザの変更に伴い、AMP による優れたユーザー エクスペリエンスを維持しつつ、透明性とユーザーの選択肢を増加させる方法について説明します。Chrome 80 が 2 月にリリースされるので、このブログ投稿は Chrome の変更点に特化して紹介します。

Chrome の新しい Cookie 設定の説明
Chrome の新しいモデルはデフォルトで安全で、特に指定がない限り、すべての Cookie が外部アクセスから保護されるべきだという前提に立っています。デベロッパーは、クロスサイト アクセス用の Cookie を新しい Cookie 設定である SameSite=None を使って明示しなければなりません。また、クロスサイト Cookie が HTTPS 接続でのみ利用されるように、Secure 属性も追加で指定する必要があります。SameSite 値が宣言されていない Cookie は SameSite=Lax として扱われます。外部アクセスは、SameSite=None; Secure 設定のある Cookie のみが可能になります。ただし、これらが安全な接続からアクセスされることが条件です。新しいモデルの詳細については、こちらのデベロッパー ブログ投稿をお読みください。

影響範囲
AMP Cache でレンダリングされる AMP ページでファースト パーティ Cookie にアクセスする必要がある場合は、まもなく行われるブラウザの変更によるユーザー エクスペリエンスへの影響の有無について慎重に評価することをおすすめします。たとえば、AMP Cache からオリジン ドメインへの移動、有料コンテンツ、ログイン状態、測定、ショッピング カート機能などにファースト パーティ Cookie を利用している場合、問題になる可能性があります。利用できるソリューションは 2 種類ありますが、最適なソリューションは各サイトの具体的なユースケースによって異なり、時間とともに変化する可能性もあります。

Cookie にクロスサイト アクセスを指定する
Chrome の Cookie 分類に伴う変更によって影響を受ける AMP サイト運営者が利用できるソリューションの 1 つは、AMP ページのファースト パーティ Cookie に SameSite=None; Secure を設定することです。これにより、この Cookie がクロスサイト アクセス用のファースト パーティ Cookie であることが明示されるので、ユーザー エクスペリエンスが損なわれることはなくなります。

Set-Cookie: widget_session=abc123; SameSite=None; Secure

このアプローチによるメリットは、実装が簡単なことです。しかし、将来的に複数のサイトが利用する Cookie とは別に 1 つのサイトのみが利用する Cookie を細かく管理できる機能がブラウザで提供されることになった場合、この Cookie はクロスサイト アクセスであることが明示されているので、キャッシュされた AMP ページでユーザーがファースト パーティ Cookie をクリアするリスクが高まります。

Signed Exchange による対応
別の方法として、サイト運営者は Signed Exchange を利用して AMP Cache でレンダリングされる AMP ページでファースト パーティ Cookie がファースト パーティ Cookie として扱われる状態を実現できます。Signed Exchange は、ページの URL と元のサイト運営者のドメインを関連付けることができる新技術です。これは、ページが AMP Cache 経由で配信される場合でも、スピードのメリットを損なうことなく利用できます(ブログ投稿ガイドをご覧ください)。ここでの Signed Exchange によるメリットは、ブラウザが外部アクセス用として明示されていない Cookie をブロックするようになっても、AMP Cache でレンダリングされるページでファースト パーティ Cookie を明示する必要がないことです。しかし、本投稿の執筆時点で、トップ ストーリー カルーセルは Signed Exchange をサポートしていないため、今のところすべてのユースケースに対処することはできません。

まとめ
以上の内容をまとめます。2 月に、新しい Cookie 設定 SameSite=None; Secure が Chrome に導入される予定です。ファースト パーティ Cookie を利用する必要がある AMP Cache ページで最適なユーザー エクスペリエンスを保証するために、サイト運営者の皆さんには、新しい設定を使ってクロスサイト アクセス用の Cookie であることを明示するか、Signed Exchange を実装することをおすすめします。ブラウザは新しい Cookie 分類モデルの採用を始めています。ユーザーが細かなプライバシー管理を行えるようにしつつ、優れたユーザー エクスペリエンスを維持するために、このブログ投稿を役立てていただけると幸いです。Chrome の SameSite Cookie の利用方法やテスト方法の詳細については、web.dev のガイドChromium の SameSite 最新情報に掲載されているヒントをご覧ください。


Reviewed by Chiko Shimizu - Developer Relations team