大規模認証にも対応し、オープンソースでシングルサインオンを実現する「OpenAM」
SUMMARY
- OpenAMは、シングルサインオンを実現する定番オープンソースソフトウエア
- OpenAMは、業務システムだけでなく、ユーザ数10万人以上の大規模認証システムにも対応する
- OpenAMが提供するシングルサインオン方式には「エージェント型」「リバースプロキシー型」「代理認証型」がある
かもめエンジニアリングは、特許技術を搭載した分散KVS「KFEP(ケイフェップ)」を活用した統合認証基盤を提供しており、安定した大規模認証が求められる通信業界の認証システムにおいて業界トップクラスの導入実績があります。
今回は、大規模認証で実績を出してきたかもめエンジニアリングが、シングルサインオンを実現するオープンソース「OpenAM」(オープンエーエム)の概要についてご紹介します。
シングルサインオンを実現する定番オープンソース、OpenAM
OpenAMとは、一度のログインで複数のシステムを横断して利用できるシングルサインオン(SSO)を実現するオープンソースです。Javaベースで開発されており、CDDLライセンスで公開されています。
ベースは、旧サン・マイクロシステムズ社が開発した「Access Manager」です。同社が「OpenSSO」としてオープンソース化し、現在はForgeRock社がフォークした「OpenAM」という名称でメンテナンスされています。
OpenAMは、企業内で急増する複数業務システムのシングルサインオン(SSO)からユーザ数10万人以上の大規模認証システムまで、幅広い用途で活躍するシングルサインオンの定番オープンソース・ソフトウェアといえます。
OpenAMはシングルサインオン機能のほかにも、パスワードポリシーの一元化、アクセス制御によるセキュリティ対策など、必要な認証機能をほぼ網羅しているのが特徴です。
OpenAMのシングルサインオン方式
OpenAMが提供するシングルサインオンの方式をご紹介します。
●エージェント型
アクセス制御の対象となる各サーバへ、OpenAMが提供する認証用エージェント(モジュール)をあらかじめインストールすることで、シングルサインオンを実現します。
ユーザが業務システムにアクセスすると、アプリに通信がアクセスする前にOpenAMのフィルターが働いて、LDAPなどに格納されているID/パスワードを照合し、認証済かどうかのチェックを行います。
この方式では、独自のポリシーエージェントを開発することもできます。
●リバースプロキシー型
リバースプロキシー型では、通信経路上にあるリバースプロキシに、OpenAMが提供する認証用エージェント(モジュール)を組み込んでシングルサインオンを実現します。
認証までの流れは、エージェント型とほぼ同じになりますが、リバースプロキシ型では、サーバごとにエージェントをインストールする手間が不要になります。
●代理認証型
そして、多く使われる方式として代理認証型があります。代理認証型は、OpenAMサーバがユーザの代理としてIDとパスワードを提供し送信します。既存のアプリケーションを改変をせずにシングルサインオンできるのが特徴です。
一般的なフォーム認証をするWebアプリケーションが対象となります。