OpenAMを使ったシングルサインオン(SSO)の仕組み <OpenAMによるシングルサインオン(第1回)>

OpenAMを使ったシングルサインオン(SSO)の仕組み

シングルサインオン(SSO)とは
~OpenAMによるシングルサインオン(SSO)の仕組みと、オープンソースソフトウェアを活用するメリット~

第1回では、OpenAMを使ったシングルサインオン(SSO)の仕組みと、オープンソースソフトウェアを活用するメリットについて解説します。

シングルサインオン(SSO)とは

通常、システムを利用するときは、システム毎にIDとパスワードを入力してログインを行う必要があります。

シングルサインオン(SSO)は、システムを利用するときに、一度だけログインすれば、以降は全てのシステムを再ログインなしに利用できるようになること、またはその仕組みのことを言います。

OpenAMを使ったシングルサインオン(SSO)の実現方式

シングルサインオン(SSO)の実現方式には、大きく4つの方式があります。

1. エージェント方式
2. リバースプロキシ方式
3. 代理認証方式
4. フェデレーション方式

それぞれの方式について紹介します。

エージェント方式

WebサーバーやアプリケーションサーバーにOpenAMの「エージェント」ソフトウェアを導入し、シングルサインオン(SSO)を実現する方式です。

「エージェント」がブラウザとアプリケーションの通信の間に入り込み、SSOサーバー(OpenAM)と認証状態を確認することで、シングルサインオン(SSO)を実現します。

エージェント方式では、認証済みユーザーの情報はHTTPリクエストに付加され、アプリケーションに連携されます。

アプリケーションがこの情報を取得してセッションを管理することで、シングルサインオン(SSO)が実現され、アプリケーションでの個別のパスワード管理も不要となります。

リバースプロキシ方式

ブラウザとWebサーバーの間に「リバースプロキシ」サーバーを設置し、リバースプロキシサーバーにOpenAMのエージェントソフトウェアを導入することで、シングルサインオン(SSO)を実現します。

個々のWebサーバーやアプリケーションサーバーへのエージェント導入が不要のため、複数のアプリケーションへ展開しやすいメリットがあります。

また、システムの外部公開が必要な場合、リバースプロキシサーバーを介することでより安全にシステムを公開できる方式になります。

リバースプロキシ方式でも、認証済みユーザーの情報はHTTPリクエストに付加され、アプリケーションに連携されます。

アプリケーションがこの情報を取得してセッションを管理することで、シングルサインオン(SSO)が実現され、アプリケーションでの個別のパスワード管理も不要となります。

代理認証方式

代理認証方式では、対象アプリケーションのログインページに対して、ユーザーの代わりにIDとパスワードを送信し、ログインを完了させることで、シングルサインオン(SSO)を実現する方式です。

古いアプリケーションや、パッケージソフトウェアを利用している場合、シングルサインオン(SSO)を実現するためのアプリケーション側の修正対応ができない場合があります。そのようなアプリケーションに対応するための方式として使われます。

この方式では、アプリケーションが管理しているIDとパスワードと、OpenAMが管理しているIDとパスワードが完全に同期されている必要があったり、アプリケーションの仕組みにより対応ができない場合があるなどの制約があります。

この方式は、エージェント方式あるいはリバースプロキシ方式と組み合わせて利用されます。

フェデレーション方式

クラウドサービスの活用が進むことで注目されている方式が、フェデレーション方式です。異なるドメイン間で、パスワード等の情報を渡すことなく、安全に認証されたユーザーの情報を連携することで、シングルサインオン(SSO)を実現します。

フェデレーション方式に使えるプロトコルは標準化が進められており、現在ではSAMLやOpenID Connectが使われています。

OSS(OpenAM)を活用するメリット(1) 最新の認証技術へ迅速に対応

クラウドサービスやデバイスの進化・浸透に伴い、認証技術はこれまで以上に注目されるようになってきており、重要な機能として位置づけられるようになってきました。それに合わせるように、新しい技術やプロトコルが登場し、その標準化も急速に進んでいます。

これからの認証基盤、シングルサインオン(SSO)では、最新の認証技術標準へ対応し続けることが必要となってきます。

オープンソースソフトウェアのOpenAMの場合は、比較的早い時期から新しい標準プロトコルが実装されて公開されるため、それらの機能を試すことができるようになります。これにより、企業やシステムインテグレーターは、より早いタイミングで新しいプロトコルへの対応の準備を始めることができます。

OSS(OpenAM)を活用するメリット(2) ソースコードを使った問題調査・解決が可能

シングルサインオン(SSO)によるシステム利用が進むことによって、認証サーバーの安定稼動がこれまで以上に求められるようになります。

シングルサインオン(SSO)システムの導入・構築時に入念なテストを行なっていても、安定稼動を脅かす障害に直面することがあります。そのような場合、再発防止に向けての原因調査とソフトウェアの修正が必要となります。

商用製品における原因調査とソフトウェア修正は、メーカーにゆだねる必要があります。多くの問題は迅速に対応されますが、障害の事象が大きい場合は、商用製品のサポートをもってしても原因特定が困難で、調査が長引き、修正に長い期間がかかることがあります。

オープンソースソフトウェアの場合、ソースコードが手元にあることを活かし、ソースコードを使った詳細仕様の確認、仕様に沿った切り分け手順の組み立てと実行など、原因特定に近づくための主体的なアクションを採ることができます。そして、原因特定ができれば、自分達でソフトウェアの修正を行なうこともできます。

---------------------------------------------------------------------------------------------

Next 第2回 OpenAMの概要 シングルサインオン機能について

---------------------------------------------------------------------------------------------

本コラムに関連するソリューション(ThemiStruct-WAM)ページに移動


※この記事に掲載されている内容、および製品仕様、所属情報(会社名・部署名)は公開当時のものです。予告なく変更される場合がありますので、あらかじめご了承ください。

関連サービス

関連記事一覧