プライバシー保護 ID 連携のためのウェブ API。
FedCM とは
FedCM(Federated Credential Management)は、フェデレーション ID サービス(「... でログイン」など)に対するプライバシー保護のアプローチであり、ユーザーは ID サービスやサイトと個人情報を共有せずにサイトにログインできます。
実装ステータス
- Chrome プラットフォームのステータス
- FedCM は Chrome 108 で実装されています。
- FedCM の提案は一般公開されています。
- FedCM は、他のブラウザではまだサポートされていません。
- Mozilla は Firefox 用のプロトタイプを実装しており、Apple は一般的なサポートを表明しており、FedCM 提案への協力に興味を示しています。
今後、ID プロバイダ(IdP)、証明書利用者(RP)、ブラウザ ベンダーから寄せられたフィードバックに基づいて、多くの新機能を導入する予定です。Google は ID プロバイダによる FedCM の導入を望んでいますが、FedCM はまだ開発中の API であり、2023 年第 4 四半期まで下位互換性のない変更が予定されています。
下位互換性のない変更をデプロイする際の課題を最小限に抑えるため、ID プロバイダには現在 2 つの推奨事項があります。
- ニュースレターにご登録ください。API の進化に関する最新情報をお届けします。
- IdP には、API の成熟中は JavaScript SDK 経由で FedCM API を配布し、自己ホスティング SDK で RP を使わないようにすることをおすすめします。これにより、IdP は API の進化に合わせて変更でき、すべての証明書利用者に再デプロイを依頼する必要がなくなります。
FedCM が必要な理由
過去 10 年間、ID 連携は、サイトごとのユーザー名とパスワードと比較して、信頼性、使いやすさ(パスワードレスのシングル ログインなど)、セキュリティ(フィッシング攻撃やクレデンシャル スタッフィング攻撃に対する耐性の向上など)の点で、ウェブでの認証の基準を上げるうえで中心的な役割を果たしてきました。
ID 連携では、RP(リライング パーティ)は IdP(ID プロバイダ)を使用して、新しいユーザー名とパスワードなしでユーザーにアカウントを提供します。
残念ながら、ID 連携が依存しているメカニズム(iframe、リダイレクト、Cookie)は、ウェブ全体でユーザーを追跡するために積極的に悪用されています。ユーザー エージェントは ID 連携とトラッキングを区別できないため、さまざまなタイプの不正行為の軽減により、ID 連携のデプロイがより困難になります。
Federated Credential Management API(FedCM)は、ユーザーが IdP からアカウントを選択してウェブサイトにログインできるブラウザ仲介ダイアログを公開することで、ウェブ上のフェデレーション ID フローのユースケース固有の抽象化を実現します。
FedCM は、ウェブ上の ID を改善するための複数のステップからなるプロセスであり、その最初のステップでは、サードパーティ Cookie の段階的廃止がフェデレーション ID に及ぼす影響を軽減することに重点を置いています(詳細については、ロードマップのセクションをご覧ください)。
何に影響することが予想されますか?
コミュニティの取り組みと調査から、サードパーティ Cookie の段階的廃止の影響を受ける ID 連携関連の統合がいくつかあることがわかりました。
- OpenID Connect フロントチャネル ログアウト
- OpenID Connect セッション管理
- iframe ベースのバックグラウンド トークンの更新
- iframe ベースのログイン ウィジェット
FedCM の第 1 の目標は、サードパーティ Cookie の段階的廃止が ID 連携に及ぼす影響を軽減することです。上記は、影響を受けることが予想される分野のリストです。上記以外のユースケースがある場合は、エンゲージメントとフィードバックの共有をおすすめします。
FedCM の対象ユーザー
FedCM が役立つのは、以下のすべての条件に当てはまる場合に限られます。
- ID プロバイダ(IdP)である。
- サードパーティ Cookie の段階的廃止の影響を受けている。
- RP がサードパーティのサイトである場合。RP が有意な関連サイトである場合は、関連ウェブサイト セットを使用したほうが、より適切な検索結果が表示される可能性があります。
IdP である
FedCM には ID プロバイダのサポートが必要です。リライング パーティが単独で FedCM を使用することはできません。RP の場合は、IdP に指示を依頼できます。
サードパーティ Cookie の段階的廃止の影響を受けている
FedCM は、現在ご利用の統合がサードパーティ Cookie の段階的廃止の影響を受ける場合にのみ使用してください。
Chrome のサードパーティ Cookie の段階的廃止後も ID 連携が引き続き機能するかどうか不明な場合は、Chrome でサードパーティ Cookie をブロックすることでウェブサイトへの影響をテストできます。
サードパーティ Cookie がないと ID 連携に検出可能な影響がない場合は、FedCM なしで現在の統合を引き続き使用できます。
何を確認すべきかわからない場合は、段階的な廃止による影響が予想される既知の機能をご覧ください。
RP がサードパーティの場合
RP が IdP とファースト パーティの関係にある ID プロバイダの場合は、関連ウェブサイト セットの使用をおすすめします。関連ウェブサイト セット(RWS)は、組織がサイト間の関係を宣言するための方法です。これにより、特定の目的でのサードパーティ Cookie へのアクセスをブラウザで制限できます。これにより、サードパーティ Cookie の段階的廃止後も、関連性が高い一連のサイト間でサードパーティ Cookie が機能するようになります。
ユーザーは FedCM とどのようにやり取りしますか?
現在、FedCM はサードパーティ Cookie の段階的廃止による影響を軽減することを主な目標としています。ユーザーは Chrome のユーザー設定で FedCM を有効または無効にできます。
FedCM はプロトコルに依存しないように設計されており、次の認証関連の機能を提供します。
仕組みについては、デモをご覧ください。
証明書利用者にログインする
ユーザーが証明書利用者(RP)のウェブサイトにアクセスすると、IdP にログインしていれば、FedCM ログイン ダイアログが表示されます。
ユーザーが IdP の RP のアカウントを持っていない場合は、登録ダイアログに、RP の利用規約やプライバシー ポリシー(提供されている場合)などの追加の開示テキストが表示されます。
[次の名前とメールアドレスで続行] をタップしてログインを完了します。成功すると、ブラウザは、ユーザーが IdP を使用して RP に連携アカウントを作成したという事実を保存します。
RP は、FedCM をサポートしていないブラウザで動作することが想定されています。ユーザーが FedCM 以外の既存のログイン プロセスを使用できるようにする必要があります。詳細については、FedCM でのログインの仕組みをご覧ください。
FedCM を有効または無効にする設定
ユーザーは Android 版 Chrome の設定で FedCM を有効または無効にできます。[設定] > [サイトの設定] > [サードパーティのログイン] に移動し、切り替えを変更します。
![モバイルの Chrome の設定で [サードパーティ ログイン] を切り替えて FedCM を有効にする](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=8&hl=ja)
パソコンの Chrome でも、chrome://settings/content/federatedIdentityApi
にアクセスして同じことができます。
![パソコンの Chrome の設定で [サードパーティ ログイン] を切り替えて FedCM を有効にする](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=8&hl=ja)
ロードマップ
Google では、FedCM にいくつかの変更を加える作業を進めています。
フィードバックに基づいて、すでにいくつかのアップデートが適用されています。また、少なくとも安定化するには、2023 年第 4 四半期までは進化し続けると予想されます。詳しくは、最新情報をご覧ください。
- 変更履歴: Federated Credential Management API の更新。
IdP、RP、ブラウザ ベンダーからの報告など、まだやるべきことがいくつかあります。Google は、これらの問題の解決方法を知っていると考えています。
- クロスオリジン iframe のサポート: IdP はクロスオリジン iframe 内から FedCM を呼び出すことができます(更新)。
- パーソナライズされたボタン: IdP は、IdP 所有のクロスオリジン iframe 内からログインボタンに復帰ユーザーの ID を表示できます(更新)。
- 指標エンドポイント: IdP にパフォーマンス指標を提供します。
また、Google が評価またはプロトタイピングしている具体的な提案など、現在検討中の未解決の問題もあります。
- CORS: FedCM フェッチの仕様を確実に改善するために、Apple および Mozilla と協議しています。
- Multiple-IdP API: Google は、FedCM Account Chooser で複数の IdP を共存させる方法を検討しています。
- IdP Sign-in Status API: Mozilla はタイミング攻撃の問題を特定しました。この問題を軽減するために、IdP が事前にユーザーのログイン ステータスをブラウザに通知する方法を検討しています。(更新)
- IdP API へのログイン: さまざまなシナリオに対応するため、ユーザーが IdP にログインしていないときに、RP から移動することなくログインするための UI がブラウザに表示されます。
最後に、Mozilla、Apple、TAG のレビュー担当者からのフィードバックに基づき、まだ改善の余地があると思われる事項について説明します。Google は、以下の未解決の問題に対する最適なソリューションの評価に取り組んでいます。
- ユーザーの理解の向上とインテントのマッチング: Mozilla が報告しているように、Google は引き続き、さまざまな UX 形式やサーフェス領域、トリガー条件を検討していきます。
- アイデンティティ属性と選択的開示: TAG の審査担当者が指摘しているように、Google は、メールアドレス、年齢層、電話番号など、さまざまなアイデンティティ属性を選択的に共有するメカニズムを提供したいと考えています。
- プライバシー特性の向上: Mozilla がこちらで提案しているように、Google は、IdP ブラインドネス、有向識別子など、より優れたプライバシー保証を提供するメカニズムを引き続き検討しています。
- WebAuthn との関係: Apple が推奨しているように、Google はパスキーの進歩を目の当たりにして、FedCM、Passwords、WebAuthn、WebOTP の間で一貫性がありまとまりのあるエクスペリエンスを提供する取り組みを非常に楽しみにしています。
- ログイン ステータス: Apple が Privacy CG の Login Status API で提案しているように、Google はユーザーのログイン ステータスは、ブラウザが十分な情報に基づいて判断を下すための有用な情報であるという直感を共有しており、そこから生まれる機会を楽しみにしています。(更新)
- 企業と教育機関: FedID CG で明らかなように、フロントチャネル ログアウト(IdP が RP にシグナルを送信してログアウトする機能)や SAML のサポートなど、FedCM が対応していないユースケースが多数まだあります。
- モバイル運転免許証や VC などとの関係: Mobile Document Request API などを使用して、これらが FedCM 内でどのように適合するかを把握するための取り組みを継続します。
FedCM API の使用
FedCM を使用するには、Chrome の IdP と RP の両方に安全なコンテキスト(HTTPS または localhost)が必要です。
FedCM と統合するには、アカウント リスト、アサーション発行、および必要に応じてクライアント メタデータ用の、well-known ファイル、構成ファイル、エンドポイントを作成する必要があります。その後、FedCM は RP が IdP でログインするために使用できる JavaScript API を公開します。
FedCM API の使用方法については、FedCM デベロッパー ガイドをご覧ください。
交流とフィードバックの共有
- GitHub: 説明を読み、問題を報告する、ディスカッションをフォローする。
- デベロッパー サポート: プライバシー サンドボックス デベロッパー サポート リポジトリで質問したり、ディスカッションに参加したりできます。
e プライバシー法の遵守
FedCM を IdP または RP として使用すると、ユーザーの端末機器に情報を保存するか、すでに保存されている情報にアクセスする必要があります。そのため、欧州経済領域(EEA)と英国の e プライバシー法の対象となるアクティビティは、通常はユーザーの同意が必要です。ユーザーが明示的にリクエストしたオンライン サービスを提供するうえで、FedCM の使用が絶対に必要であり、したがって同意要件が免除されるかどうかは、デベロッパーが判断します。詳細については、プライバシー サンドボックスのプライバシー関連のコンプライアンスに関するよくある質問をご覧ください。