FastFedのドラフト仕様を読んでみた

OpenID FoundationのFast Federation (FastFed) WGからFastFedというSSOやSCIMプロビジョニングをより簡単に扱うための標準仕様のドラフトが出たので読んでみました。大まかな内容はAbstractとIntroductionで掴むことができるのでその部分だけ日本語訳にしたので興味を持ってもらえると嬉しいです。

FastFed Core 1.0 draft02

Abstract

FastFedの目的はIdPとホストされたアプリケーション間のIDフェデレーションを設定する管理作業を簡素化することです。

メタデータドキュメント、API、フローを定義することで、管理者が素早く(OpenID Connect, SAML, SCIMをサポートする)IdPとホストされたアプリケーションを連携すること、また接続設定の変更をIdPとホストされたアプリケーション間で直接、かつ継続的に行えるようにします。

1. Introduction

IDフェデレーションに関してはいくつかの標準仕様が存在するにも関わらず、設定やそれの維持することは依然として難しく、管理者にとっては以下の3つの理由からIDフェデレーション技術を正しく扱うことはコストが高いものであると感じられます。

  1. 既存の標準仕様を一つ一つ見ると例えばOpenID Connectは認証、SCIMスキーマ定義というように、IDフェデレーションの一部のみしか解決せず、またIDフェデレーションの全体像を組み立てるための推奨仕様がありません。そのため各アプリケーションは標準仕様を様々な方法で組み立てていたり、標準仕様を守っていないこともあり、管理者はホストされたアプリケーションでフェデレーションの設定を行う前に仕様の調査とその理解を行う必要があります。
  2. 標準仕様で必要とされているメタデータをIdPとアプリケーションが直接交換するための方法がないため、管理者がコピーアンドペーストによってメタデータを入力する必要があります。コピーアンドペーストを前提にした手順はデバックが困難なエラーを引き起こす原因となります。
  3. 例えば証明書が期限切れになったときなど、フェデレーション設定が古くなった時にフェデレーションが動かなくなることがあります。これはIdPとアプリケーションが設定に関して直接通信する方法がないためです。そのため管理者は定期的に設定の更新・見直しを行わなければなりません。

FastFedの目的は管理者のエクスペリエンス向上であり、これをWebベースのワークフローを数回クリックするだけで、新しいフェデレーション関係をインスタンス化することができるUXによって実現しようとしています(この時管理者がFastFedやその基となる技術を理解している必要はありません)。

FastFedでは追加のメタデータドキュメント、API、フローを定義し、管理者が共通のID標準仕様をサポートする2つのプロバイダーを接続できるようにします。さらに、FastFedは相互運用性プロファイルを定義しており、プロバイダがFastFedに互換性があることを示すために実装されなければならない既存の標準のサブセットを記述しています。

FastFed CoreはFastFedのコアメタデータフォーマットとハンドシェイクフローを定義し、SAMLSCIMプロビジョニングに関する追加のプロファイルはFastFed Coreを拡張します。