Identity Management (IdM) and Modern Evergreen Music

OpenSSO の技術概要からわかること

(Translate to English)

Friday Sep 09, 2005

以前からアナウンスされていた通り, 先週 OpenSSOシステム・アーキテクチャとユースケースの概要がリリースされた.

The high-level System Architecture and Use Cases documents for OpenSSO project are now available in the documents section of the project web site.
Availability of Architecture and Use-Case Documents

Sun Java System Access Manager (SJS AM) という商用製品をどういったかたちで再パッケージし公開していくのかは個人的にも興味があったのだけど, 今回出てきた文書を斜め読みした感じでは, どうやら SJS AM の Web シングル・サインオンのコア実装をそっくりそのまま世界にシェアするつもりっぽい.

System Architecture の 3.6 Service Client View に加筆してみた.

Figure 9: Service Client View in Simple Deployment
Open Web Single Sign-On Version 1.0 System Architecture: Figure 9: Service Client View in Simple Deployment

一般的な処理フローはこんな感じ:

  1. ユーザはまず OpenSSO の認証サービスにアクセスし認証をうける.
    認証に成功した場合, OpenSSO のセッション・サービスがユーザのログイン・セッションを生成する.
    セッション・サービスはログイン・セッションに紐づくトークンを生成し, 認証サービスがそれをユーザに返却する.
  2. ユーザは認証済みの状態で Web コンテンツにアクセスを試みる. このときユーザはトークンを (典型的には Cookie や URL パラメータのようなかたちで) 提示する.
  3. Web アプリケーション, あるいは Web アプリケーションを保護する SSO エージェントは, ユーザのリクエストからトークンを取り出す.
    そして, それに紐づくユーザのログイン・セッションをクライアント・ライブラリのセッション・クライアントに確認する.
  4. セッション・クライアントはユーザのログイン・セッションの確認を行なうにあたり, いきなりセッション・サービスに問い合わせるのではなく, まずネーミング・クライアントにセッション・サービスの場所を問い合わせる.
  5. ネーミング・クライアントは OpenSSO のネーミング・サービスに, そのユーザのログイン・セッションを管理しているセッション・サービスの場所を問い合わせる.
  6. ネーミング・クライアントから得た当該セッション・サービスに対し, セッション・クライアントはユーザのログイン・セッションのステートを問い合わせる.
  7. セッション・クライアントは取得したユーザのログイン・セッションのステートをセッション・キャッシュとしてクライアント・ライブラリに格納する.
    このキャッシュはクライアント・ライブラリ内のセッション・ポーラーからのポーリング (P1 / P2), もしくは OpenSSO のセッション・サービスからの通知 (N1 / N2) により更新される.
  8. ログイン・セッションのステートの確認後, Web アプリケーション, あるいは Web アプリケーションを保護する SSO エージェントは, アクセスを認可しユーザのリクエストを Web コンテンツに送る.

ということで OpenSSO は, SJS AM の Web SSO コアがもともと実装している拡張性とパフォーマンス向上のための仕組み, つまり

  • セッション・サービスを複数のマシンに配置して負荷分散を実現したり
  • セッション・キャッシュによってシステム間の XML / HTTP 通信を減らし, 認可決定処理のオーバーヘッドを最小化したり

といったアーキテクチャをそのまま受け継ぐ模様. Web SSO の概念実証レベルのコードではなく, 見方によっては製品のコアをそのまま公開するに等しいわけで, 弊社もなかなかやるなー.

[3] Comments
Like this post? del.icio.us | furl | slashdot | technorati | digg
Comments:

[Trackback] 最近打ち合わせにてしばしば話題に挙がることの多い OpenSSO の, ソースコードがいよいよ 公開された . The first drop of OpenSSO project sources including the complete implementation of Session module is now available in the project version contr...

Posted by tkudo's weblog on April 17, 2006 at 12:16 PM JST #

[Trackback] 3 月末に早期アクセス開始のはずがいつの間にかお流れになってしまって, もしかしたら一部の人をやきもきさせている OpenSSO だけど, 開発者のひとりである Shivaram Bhat が今後の予定について 言及している (個人的には聞いてたんだけど, 公式にアナウンスされるまで書かないでいた). まとめると以下の通り: には SSO...

Posted by tkudo's weblog on April 17, 2006 at 12:18 PM JST #

[Trackback] オープンソースの SSO 実装である OpenSSO のナイトリー・ビルドが 順調に続いている ようなので, ためしに現時点の最新ビルドをインストールしてみた. まず OpenSSO は Java EE Web アプリケーションなので, 実行環境としてなにかしらの Java EE Web コンテナ (アプリケーション・サーバ) が必要となる. 個人的には使い慣れてる ...

Posted by tkudo's weblog on September 28, 2006 at 04:30 PM JST #

Post a Comment:
Comments are closed for this entry.
« Sun の IdM ソリューション・デモ... | Main | 社長賞もらったんだった »