Federated Credential Management API の概要

プライバシー保護する ID 連携用のウェブ API。

FedCM とは

FedCM(Federated Credential Management)は、サードパーティ Cookie やナビゲーション リダイレクトに依存しない、ID 連携サービス(「~でログイン」など)へのプライバシーを保護したアプローチです。

実装ステータス

今後、Google は ID プロバイダ(IdP)、リレーリング パーティ(RP)、ブラウザ ベンダーから寄せられたフィードバックに基づいて、いくつかの新機能を導入する予定です。アイデンティティ プロバイダが FedCM を採用することをおすすめしますが、FedCM はまだ開発中の API であることをご承知おきください。

下位互換性のない変更をデプロイする際の課題を最小限に抑えるために、ID プロバイダには次の 2 つの推奨事項があります。

  • ニュースレターに登録すると、API の進化に伴う最新情報をお送りします。
  • API が成熟するまでの間、IdP は JavaScript SDK を使用して FedCM API を配布し、RP が SDK をセルフホストしないようにすることをおすすめします。これにより、IdP はすべての証明書利用者に再デプロイを依頼しなくても、API の進化に合わせて変更を行うことができます。

FedCM が必要な理由

過去 10 年間、ID 連携は、サイトごとのユーザー名とパスワードと比較して、信頼性、使いやすさ(パスワード不要のシングル サインオンなど)、セキュリティ(フィッシングや認証情報の不正使用攻撃に対する耐性の向上など)の点で、ウェブでの認証の基準を引き上げるうえで中心的な役割を果たしてきました。

ID 連携では、RP(リレーリング パーティ)は IdP(ID プロバイダ)に依存して、新しいユーザー名とパスワードを要求せずにユーザーにアカウントを提供します。

残念ながら、ID 連携が依存しているメカニズム(iframe、リダイレクト、Cookie)は、ウェブ全体でユーザーを追跡するために積極的に悪用されています。ユーザー エージェントは ID 連携とトラッキングを区別できないため、さまざまなタイプの不正行為の緩和策により、ID 連携のデプロイがより困難になります。

Federated Credentials Management API(FedCM)は、ユーザーが IdP からアカウントを選択してウェブサイトにログインできるブラウザ メディエーション ダイアログを公開することで、ウェブ上のフェデレーション ID フローのユースケース固有の抽象化を提供します。

FedCM は、ウェブ上の ID を改善するための複数のステップからなる取り組みです。最初のステップでは、サードパーティ Cookie の制限が連携 ID に与える影響を軽減することに重点を置いています(その他のステップについては、ロードマップ セクションをご覧ください)。

ユーザーが FedCM を使用して RP にログインしています。

どのような影響が予想されますか?

コミュニティの取り組みと Google の調査を通じて、サードパーティ Cookie の制限の影響を受ける ID 連携関連の統合がいくつかあることがわかりました。

FedCM の最初の目標は、サードパーティ Cookie の制限が ID 連携に及ぼす影響を軽減することです。影響を受けると予想される領域は次のとおりです。ここに記載されていないユースケースがある場合は、フィードバックをお寄せください

FedCM の対象ユーザー

FedCM は、以下の条件がすべて該当する場合にのみ役立ちます。

  1. ID プロバイダ(IdP)である。
  2. サードパーティ Cookie の制限の影響を受けています。
  3. RP はサードパーティのサイトです。RP が関連性の高いサイトである場合は、関連するウェブサイト セットの方が適している可能性があります。

IdP である

FedCM では、ID プロバイダのサポートが必要です。信頼する当事者は、FedCM を単独で使用できません。RP の場合は、IdP に手順を尋ねることができます。

サードパーティ Cookie の制限の影響を受けている

FedCM は、現在の統合がサードパーティ Cookie の制限の影響を受けている場合にのみ使用してください。

サードパーティ Cookie を使用できない場合でも ID 連携が引き続き機能するかどうか不明な場合は、Chrome でサードパーティ Cookie をブロックして、ウェブサイトへの影響をテストできます。

サードパーティ Cookie を使用せずに ID 連携に検出可能な影響がない場合は、FedCM を使用せずに現在の統合を引き続き使用できます。

確認すべき内容が不明な場合は、サードパーティ Cookie の制限が影響すると予想される既知の機能についてご確認ください。

RP がサードパーティである

RP が IdP とファーストパーティの関係にある ID プロバイダの場合は、関連するウェブサイト セットの方が適している可能性があります。関連ウェブサイト セット(RWS)は、組織がサイト間の関係を宣言するための手段です。ブラウザでは、特定の目的のために制限付きのサードパーティ Cookie へのアクセスを許可できます。これにより、サードパーティ Cookie が制限されていても、意味のある関連のある一連のサイト間で機能するようになります。

ユーザーは FedCM をどのように操作しますか?

FedCM の主な目的は、サードパーティ Cookie の制限による影響を軽減することです。ユーザーは Chrome のユーザー設定で FedCM を有効または無効にできます。

FedCM はプロトコルに依存しないよう設計されており、次の認証関連機能を提供します。

デモでその仕組みをご確認ください。

証明書利用者にログインする

ユーザーが FedCM を使用して RP にログインします。

ユーザーがリレーリング パーティ(RP)のウェブサイトにアクセスすると、ユーザーが IdP にログインしている場合は FedCM ログイン ダイアログが表示されます。

ユーザーが IdP で RP にアカウントを持っていない場合は、登録ダイアログが表示され、RP の利用規約やプライバシー ポリシー(提供されている場合)などの追加の開示テキストが表示されます。

ユーザーは [... として続行] をタップしてログインを完了できます。成功すると、ブラウザは、ユーザーが IdP を使用して RP に連携アカウントを作成したという事実を保存します。

RP は、FedCM に対応していないブラウザで動作します。ユーザーは、FedCM 以外の既存のログイン プロセスを使用できる必要があります。詳しくは、FedCM でのログインの仕組みをご覧ください。

FedCM を有効または無効にする設定

ユーザーは Android 版 Chrome の設定で FedCM を有効または無効にできます。[設定] > [サイトの設定] > [サードパーティによるログイン] に移動し、切り替えボタンを変更します。

モバイルの Chrome 設定で [サードパーティのログイン] をオンにして、FedCM を有効にする

パソコン版 Chrome でも、[chrome://settings/content/federatedIdentityApi] に移動して同じことができます。

デスクトップ版 Chrome の設定で [サードパーティのログイン] をオンにして、FedCM を有効にする

プロンプトのクールダウン期間

ユーザーが UI を手動で閉じると、エントリが設定 UI に一時的に追加され、同じウェブサイトに UI が表示されなくなる期間が設定されます。この期間が経過すると UI は再度有効になりますが、連続して閉じると持続時間は指数関数的に広がります。たとえば、Chrome では次のようになります。

連続して閉鎖された回数 FedCM プロンプトが抑制される期間
1 2 時間
2 1 日
3 1 週間
4+ 4 週間

他のブラウザでは、独自のクールダウン期間が定義されている場合があります。

ユーザーは、設定ページに移動するか、PageInfo UI(URL バーの横にある鍵アイコン)をクリックして権限をリセットすることで、RP で FedCM を手動で再度有効にできます。

ロードマップ

現在、FedCM にいくつかの変更を加えています。詳しくは、最新情報をご覧ください。

  • 変更ログ: Federated Credential Management API の更新

IdP、RP、ブラウザ ベンダーから寄せられた問題など、改善が必要な事項がいくつかあります。Google は、これらの問題を解決する方法があることを確認しています。

  • クロスオリジン iframe のサポート: IdP は、クロスオリジン iframe 内から FedCM を呼び出すことができます(更新)。
  • パーソナライズされたボタン: IdP は、IdP が所有するクロスオリジン iframe 内からログインボタンにリピーターの ID を表示できます(更新)。
  • 指標エンドポイント: IdP にパフォーマンス指標を提供します。

また、現在解決されていない問題もいくつかあります。たとえば、評価またはプロトタイプ作成中の特定の提案などです。

最後に、MozillaAppleTAG 審査担当者からのフィードバックに基づき、まだ行う必要があると Google が考えることがあります。Google は、以下の未解決の問題に対する最適なソリューションの評価に取り組んでいます。

  • ユーザーの理解と意図の一致を改善する: Mozilla が指摘したように、Google は引き続き、さまざまな UX の定式化とサーフェス領域、トリガー条件を検討していきます。
  • アイデンティティ属性と選択的開示: TAG レビュアーが指摘したように、Google は、より多くの ID 属性(メールアドレス、年齢層、電話番号など)を選択的に共有するメカニズムを提供したいと考えています。
  • プライバシー プロパティの向上: Mozilla が標準に関する立場で提案したように、Google は、IdP の匿名化や指向型識別子など、プライバシーの保証を強化するメカニズムを継続的に検討していきます。
  • WebAuthn との関係: Apple が提唱するとおり、パスキーの進歩が進んでおり、FedCM、Passwords、WebAuthn、WebOTP の間で一貫性のある一貫性のあるエクスペリエンスを提供できるよう取り組んでいます。
  • ログイン ステータス: Apple が Privacy CG の Login Status API で推奨したように、Google はユーザーのログイン ステータスはブラウザが十分な情報に基づいた意思決定を行うのに役立つ有益な情報であるという直感を共有しており、そこからどのような機会が生まれるかを楽しみにしています。(更新
  • 企業と教育機関: FedID CG で明らかなように、フロントチャネル ログアウト(IdP が RP にログアウトするシグナルを送信する機能)や SAML のサポートなど、FedCM で適切に処理されないユースケースが数多くあります。
  • mDL / 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 デベロッパー ガイドをご覧ください。

意見交換とフィードバックの提供

e プライバシー法の遵守

FedCM を IdP または RP として使用すると、ユーザーの端末機器上の情報の保存、またはすでに保存されている情報へのアクセスが必要になるため、欧州経済領域(EEA)と英国の e プライバシー法の対象となる活動で、通常はユーザーの同意が必要になります。ユーザーが明示的にリクエストしたオンライン サービスを提供するために FedCM の使用が厳密に必要であり、同意の要件が免除されるかどうかを判断するのはお客様の責任です。詳しくは、プライバシー サンドボックスのプライバシー関連のコンプライアンスに関するよくある質問をご覧ください。