SUMMARY
- OpenAMは、商用製品から生まれたオープンソースとして、世界各国で導入事例がある
- OpenAMの代表的なシングルサインオン方式には、エージェント型とリバースプロキシ型がある
- OpenAMはSAMLプロトコルに対応しているので、企業向けクラウドサービスでのシングルサインオンをセキュアに実現する
シングルサインオン(SSO)を実現し、セキュリティを向上させて認証そのものを強化するオープンソース、OpenAM(オープンエーエム)についてご紹介します。
OpenAMは、商用製品から生まれたオープンソース
OpenAMは、一度のログインで複数のシステムを横断して利用できるシングルサインオン(SSO)を実現するソフトウエアです。Javaベースベースで開発された認証系のオープンソースソフトウエアであり、CDDL(Common Development & distribution License) ライセンスとしてソースコードが公開されています。
OpenAMは、旧サン・マイクロシステムズ社が開発した商用製品「Access Manager」を同社がオープンソース化した「OpenSSO」がベースとなっており、現在はForgeRock社がフォークし「OpenAM」という名称でメンテナンスされています。
OpenAMは認証、認可機能に加えて、SAML、OpenIDに対応したフェデレーションやエンタイトルメントといった機能も備えています。つまりOpenAMには、商用認証製品と同等機能が実装されており、高い安定性と信頼性があることから世界各国での導入実績を誇ります。
さらにOpenAMに、オープンソースのID管理システムを組み合わせることで、シングルサインオンとID管理を実現する総合認証基盤を低コストで構築することも可能です。
エージェント型、リバースプロキシ型など多彩なシングルサインオン方式
OpenAMの代表的なシングルサインオン方式についてご紹介します。
●エージェント型シングルサインオン
アクセス制御の対象となる各サーバへ、OpenAMが提供する認証用エージェント(モジュール)をあらかじめインストールすることで、シングルサインオンを実現します。
ユーザが業務システムにアクセスすると、アプリに通信がアクセスする前にOpenAMのフィルターが働いて、LDAPなどに格納されているID/パスワードを照合し、認証済かどうかのチェックを行います。
この方式では、独自のポリシーエージェントを開発することもできます。
●リバースプロキシ型シングルサインオン
通信経路上にあるリバースプロキシに、OpenAMが提供する認証用エージェント(モジュール)を組み込んでシングルサインオンを実現します。
認証までの流れは、エージェント型とほぼ同じになりますが、リバースプロキシ型では、サーバごとにエージェントをインストールする手間が不要になります。
●SAMLプロトコルによるクラウドサービスでのシングルサインオン
OpenAMは、Salesforce、GoogleApps、Offie365などのSaaS型サービスで利用されているSAMLプロトコルに標準対応しています。
したがってOpenAMは、これらBtoB向け主要クラウドサービスでのシングルサインオンを、簡単にセキュアに実現します。
そのほか、Active DirecotioryやOpenLDAPなどの一般的なディレクトリサーバでもシングルサインオンを実現し、ID/パスワードを一元管理することができます。