シングルサインオン(Single Sign On、SSO)とは、あらかじめサーバに登録しておいた複数アプリケーションの認証を一まとめにすることです。これは、「1回の認証作業で複数のアプリケーションを利用できる」ということを意味します。また、シングルサインオンは、大きく2つのタイプに分類できます。
1つ目のタイプは、循環型です。下記の図1を参照してください。
図1では、アプリケーションAにログインしておけば、アプリケーションBは認証作業を行わずに利用できます。つまり、アプリケーションAとアプリケーションBの認証作業がつながっているということを意味します。
2つ目のタイプは、代行サーバ中継型です。こちらも先に、下記図2を参照してください。
こちらはユーザーが一度認証代行サーバにログインしておけば、後のアプリケーションへのログインは代行サーバが行ってくれるというものです。
シングルサインオンの利点は、以下の2点です。
1点目は、ユーザーの認証情報管理を容易にすることです。ユーザーにとって、複数アプリケーションごとの認証情報(IDやパスワード)すべてを覚える必要がないということは大きな利点といえるはずです。
2点目は、アクセスコントロールなどで設定する認証系のセキュリティを一まとめにできることです。このことによって、IDを管理する側の人間も「認証情報を一括で統括できる」という利点が生まれます。
次にID管理、シングルサインオンに関係するJBossのフレームワークについて説明します。
JBossのID管理は、「PicketLink」プロジェクトという名前でJBoss Securityプロジェクトの傘下に配置されています。PicktLinkプロジェクトについては、前回を参照してください。
PicketLinkプロジェクトの中にもNegotiationなど、シングルサインオンのためのプロジェクトが用意されています。しかし、JBossの製品の中にはPicketLinkプロジェクト内のものとは別に、シングルサインオンのための独自フレームワークが用意されています。それが、次に紹介する「JBoss (Federated) SSO」です。
「JBoss(Federated)SSO」とは、JBossを用いてシングルサインオンを実現するためのJBossのフレームワークです。JBoss SSOフレームワークは、JAASに基付く認証メカニズムをサポートしています。そのため、JBoss SSOフレームワークは、複数のWebアプリケーションの認証作業をまとめるための要素を持っています。
また、JBoss SSOはSAMLなどに代表される重要なSSOの標準機能をサポートしています。JBoss SSOの構成要素は、以下の3点です。
種類 | 説明 |
---|---|
Federation Server | Tokenを利用することで異なったセキュリティドメイン上のWebアプリケーションを統合するサーバ(図3参照) |
Token Marshalling Framework | ・Tokenをまとめるためのプラグイン可能なJavaのAPI ・フレームワークのシステムとして、SAMLの構成要素を持ち合わせている |
Identity Connector FrameWork | ID storeに接続するためのJavaのAPI |
表5 JBoss SSOの構成要素 |
以上がJBoss SSOについての説明です。シングルサインオンが基となっていることもあり、イメージがわきやすかったのではないでしょうか。
またJBoss SSOとは別に、シングルサインオンをサポートしているJBossのフレームワークとしては、「JBoss Portal」「JBoss Negotiation」があります。
次ページでは、実際にサンプルを作成してみましょう。
Copyright © ITmedia, Inc. All Rights Reserved.