プライバシーを保護した ID 連携のウェブ API です。
FedCM とは何ですか?
FedCM(Federated Credential Management)は、サードパーティ Cookie やナビゲーション リダイレクトに依存しない、ID 連携サービス(「~でログイン」など)へのプライバシーを保護したアプローチです。
実装ステータス
- Chrome プラットフォームのステータス
- FedCM は Chrome 108 で実装されています。
- FedCM の提案は一般公開されています。
- FedCM は、他のブラウザではまだサポートされていません。
- Mozilla は Firefox 用のプロトタイプを実装しており、Apple は一般的なサポートを表明しており、FedCM 提案への協力に興味を示しています。
今後、Google は ID プロバイダ(IdP)、リレーリング パーティ(RP)、ブラウザ ベンダーから寄せられたフィードバックに基づいて、いくつかの新機能を導入する予定です。Google では、ID プロバイダが FedCM を採用することを願っていますが、FedCM はまだ積極的に開発中の API であることに留意してください。
下位互換性のない変更をデプロイする際の課題を最小限に抑えるために、ID プロバイダには次の 2 つの推奨事項があります。
- ニュースレターに登録すると、API の進化に伴う最新情報をお送りします。
- API が成熟するまでの間、IdP は JavaScript SDK を使用して FedCM API を配布し、RP が SDK をセルフホストしないようにすることをおすすめします。これにより、すべてのリレーリング パーティに再デプロイを依頼することなく、API の進化に合わせて IdP が変更を加えることができます。
FedCM が必要な理由
過去 10 年間、ID 連携は、サイトごとのユーザー名とパスワードと比較して、信頼性、使いやすさ(パスワード不要のシングル サインオンなど)、セキュリティ(フィッシングや認証情報の不正使用攻撃に対する耐性の向上など)の点で、ウェブでの認証の基準を引き上げるうえで中心的な役割を果たしてきました。
ID 連携では、RP(証明書利用者)は IdP(ID プロバイダ)を利用して、新しいユーザー名とパスワードを必要とすることなくユーザーにアカウントを提供します。
残念ながら、ID 連携が依存しているメカニズム(iframe、リダイレクト、Cookie)は、ウェブ全体でユーザーを追跡するために積極的に悪用されています。ユーザー エージェントは ID 連携とトラッキングを区別できないため、さまざまなタイプの不正行為の緩和策により、ID 連携のデプロイがより困難になります。
Federated Credential Management API(FedCM)は、ウェブサイトへのログインに使用する IdP のアカウントを選択できるブラウザを介したダイアログを公開することで、ウェブ上のフェデレーション ID フローのユースケース固有の抽象化を実現します。
FedCM は、ウェブ上の ID を改善するための、複数のステップからなる取り組みです。最初のステップでは、サードパーティ Cookie の制限が連携 ID に与える影響を軽減することに重点を置いています(その他のステップについては、ロードマップ セクションをご覧ください)。
影響を受けると予想されるもの
コミュニティの取り組みと Google の調査を通じて、サードパーティ Cookie の制限の影響を受ける ID 連携関連の統合がいくつかあることがわかりました。
- OpenID Connect フロントチャネル ログアウト
- OpenID Connect セッション管理
- iframe ベースのバックグラウンド トークンの更新
- iframe ベースのログイン ウィジェット
FedCM の最初の目標は、サードパーティ Cookie の制限が ID 連携に与える影響を減らすことですが、これらの領域が影響を受けると予想されます。ここに記載されていないユースケースがある場合は、フィードバックをお寄せください。
FedCM の対象ユーザー
FedCM は、以下の条件がすべて該当する場合にのみ役立ちます。
- ID プロバイダ(IdP)である。
- サードパーティ Cookie の制限の影響を受けています。
- 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 が制限されている場合でも、関連性の高いサイトのセット間でサードパーティ Cookie を機能させることができます。
ユーザーは FedCM をどのように操作しますか?
FedCM の主な目的は、サードパーティ Cookie の制限による影響を軽減することです。ユーザーは Chrome のユーザー設定で FedCM を有効または無効にできます。
FedCM はプロトコルに依存しないよう設計されており、次の認証関連機能を提供します。
デモでその仕組みをご確認ください。
利用者側の事業者にログインする
ユーザーがリレーリング パーティ(RP)のウェブサイトにアクセスすると、ユーザーが IdP にログインしている場合は FedCM ログイン ダイアログが表示されます。
ユーザーが IdP で RP にアカウントを持っていない場合は、登録ダイアログが表示され、RP の利用規約やプライバシー ポリシー(提供されている場合)などの追加の開示テキストが表示されます。
ユーザーは [... として続行] をタップしてログインを完了できます。成功すると、ブラウザは、ユーザーが IdP を使用して RP に連携アカウントを作成したという事実を保存します。
RP は、FedCM をサポートしていないブラウザでも動作することが想定されています。ユーザーは、FedCM 以外の既存のログイン プロセスを使用できる必要があります。詳しくは、FedCM でのログインの仕組みをご覧ください。
FedCM を有効または無効にする設定
ユーザーは Android 版 Chrome の設定で FedCM を有効または無効にできます。[設定] > [サイトの設定] > [サードパーティによるログイン] に移動し、切り替えボタンを変更します。
パソコンの Chrome でも、chrome://settings/content/federatedIdentityApi
にアクセスして同じことができます。
ロードマップ
Google は、FedCM に対するさまざまな変更の実現に取り組んでいます。詳しくは、最新情報をご覧ください。
- 変更履歴: Federated Credential Management API の更新。
IdP、RP、ブラウザ ベンダーから報告された問題など、まだ対応が必要な点がいくつかあります。Google は、これらの問題を解決する方法があることを確認しています。
- クロスオリジン iframe のサポート: IdP は、クロスオリジン iframe 内から FedCM を呼び出すことができます(更新)。
- パーソナライズされたボタン: IdP は、IdP が所有するクロスオリジン iframe 内から、ログインボタンにリピーター ユーザーの ID を表示できます(更新)。
- 指標エンドポイント: IdP にパフォーマンス指標を提供します。
また、評価またはプロトタイピング中の特定の提案など、積極的に検討している未解決の問題もあります。
- CORS: Apple と Mozilla と協議し、FedCM フェッチの仕様を改善しています。
- Multiple-IdP API: 連携型の FedCM アカウント選択ツールで複数の IdP をサポートする方法を検討しています。
- IdP Sign-in Status API: Mozilla はタイミング攻撃の問題を特定しました。Google は、この問題を軽減するために、IdP が事前にユーザーのログイン ステータスをブラウザに通知する方法を検討しています。(更新)
- Sign in to IdP API: さまざまなシナリオをサポートするため、ユーザーが IdP にログインしていない場合、ブラウザはユーザーが RP を離れることなくログインできる UI を提供します。
最後に、Mozilla、Apple、TAG 審査担当者からのフィードバックに基づき、まだ行う必要があると Google が考えることがあります。現在、以下の自由回答形式の質問に対して最適なソリューションの評価に取り組んでいます。
- ユーザーの理解と意図の一致を改善する: Mozilla が指摘したように、Google は引き続き、さまざまな UX の定式化とサーフェス領域、トリガー条件を検討していきます。
- アイデンティティ属性と選択的開示: TAG レビュアーが指摘したように、Google は、より多くの ID 属性(メールアドレス、年齢層、電話番号など)を選択的に共有するメカニズムを提供したいと考えています。
- プライバシー プロパティの向上: Mozilla が標準に関する立場で提案したように、Google は、IdP の匿名化や指向型識別子など、プライバシーの保証を強化するメカニズムを継続的に検討していきます。
- WebAuthn との関係: Apple が提案したように、パスキーの進展を楽しみにしています。また、FedCM、パスワード、WebAuthn、WebOTP の間で整合性のあるエクスペリエンスを提供できるよう取り組んでいます。
- ログイン ステータス: Apple がプライバシー CG の ログイン ステータス 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 デベロッパー ガイドをご覧ください。
意見交換とフィードバックの提供
- GitHub: 説明を読み、問題を報告し、ディスカッションに参加してください。
- デベロッパー サポート: プライバシー サンドボックス デベロッパー サポート リポジトリで質問や意見交換を行えます。
e プライバシー法の遵守
FedCM を IdP または RP として使用すると、ユーザーの端末機器に情報の保存や、すでに保存されている情報へのアクセスが行われます。そのため、欧州経済領域(EEA)と英国では、通常ユーザーの同意が必要な e プライバシー法の対象となるアクティビティとなります。ユーザーが明示的にリクエストしたオンライン サービスを提供するために FedCM の使用が厳密に必要であり、同意の要件が免除されるかどうかを判断するのはお客様の責任です。詳細については、プライバシー サンドボックスのプライバシー関連のコンプライアンスに関するよくある質問をご覧ください。