シングルサインオンの仕組み
統合ユーザ認証機能「シングルサインオン」の仕組みについて紹介します。
「OpenAMを活用したシングルサインオン環境のご相談や、価格についてはお問合せ下さい!」
統合認証とは
「統合認証」とは、社内システム/クラウドサービスなどの複数のシステムを利用する場合に、適切な権限を持つユーザが該当のITリソースにアクセスするために、各システムのユーザ認証やユーザID管理を統合的に行うための仕組みを意味しています。
「統合認証」には、大きく分けて、統合ユーザ認証機能「シングルサインオン」と、統合ユーザID/パスワード管理機能「ID管理」の2つの機能があります。
シングルサインオン(SSO)とは
シングルサインオン(SSO)は、システム利用者が各システムを利用する場合に、一度認証を受けるだけで、アクセス権限を持つすべてのシステムに対して再ログインなしで利用できるようになる仕組みのことを表します。
システム利用者/システム管理者/開発者に対して、負担軽減/利便性向上/生産性向上/運用コスト軽減/コンプライアンス(内部統制)強化などのメリットがあります。
シングルサインオン(SSO)の実現方式
大きく分けて、以下の5つの方式があります。
1. エージェント方式
2. リバースプロキシ方式
3. 代理認証方式
4. フェデレーション方式
5.透過型方式
エージェント方式
仕組み |
Webアプリケーションサーバに、認証処理を代行する「エージェント」モジュールを組み込むことで、シングルサインオンを実現する方式です。リクエストはWebサーバ自体で受け付け、Webサーバ内の 「エージェント」がシングルサインオンサーバに、ユーザログイン状態/アクセス権限を問い合わせ、認証状態を確認することで、シングルサインオンを実現します。 |
メリット |
・ネットワーク構成を変更せずに導入できる ・拡張性に優れている |
デメリット |
・Webアプリケーションサーバへ「エージェント」をインストールする必要がある ・「エージェント」のバージョンアップ作業が必要 ・Webアプリケーションサーバのプラットフォームによっては「エージェント」が対応していない場合もある |
リバースプロキシ方式
仕組み |
ブラウザとWebアプリケーションサーバ間の通信経路上に「リバースプロキシ」サーバを設置し、「リバースプロキシ」サーバにシングルサインオンエージェントソフトウェアを導入することで、シングルサインオンを実現します。Webブラウザからのアクセスを「リバースプロキシ」サーバが受けて、後ろのWebアプリケーションサーバに中継を行います。 |
メリット |
・個々のWebアプリケーションサーバへのエージェント導入が不要 ・プラットフォームに依存せずにシングルサインオンを実現できる ・「リバースプロキシ」サーバを介することで、より安全にシステムを公開できる(クライアントからはリバースプロキシサーバが見えているのみで、コンテンツを保持するWebサーバは隠蔽される) ・エージェントモジュールの導入が困難なシステムの場合でもSSOが実現可能 |
デメリット |
・シングルサインオン環境に含めるすべてのアプリケーションへのアクセスがプロキシサーバを経由するように、ネットワーク構成を変更する必要がある ・Webアプリケーション側に「代理認証を許可する機能」がない場合は改修が必要になることがある ・通常のプロキシサーバが導入されている場合、連携の対応が必要になることがある |
代理認証方式
対象アプリケーションのログインページに対して、ユーザの代わりにID/パスワードを送信し、自動的に代理入力することによってログインを完了させ、シングルサインオンを実現する方式です。この方式は、エージェント方式、あるいは、リバースプロキシ方式と組み合わせて利用されます。
メリット |
・シングルサインオンを実現するためにアプリケーション側の修正対応ができない場合などに対応できる ・Webアプリケーションではない、サーバ/クライアントアプリケーションにも対応できる |
デメリット |
・対象となるすべてのクライアントにエージェントをインストールする必要がある |
フェデレーション方式
異なるドメイン間で、パスワードなどの情報を受け渡しすることなく、安全に認証されたユーザ情報を連携することで、シングルサインオンを実現する方式です。「Google Apps」、「Salesforce」、「Office365」などのクラウドサービスが対応しています。フェデレーション方式に使えるプロトコルは標準化が進められていて、「SAML(Security Assertion Markup Language)」や「OpenID Connect」が使われています。
メリット |
・クラウドサービスSSOを実現できる |
デメリット |
・既存のシステムに組み込むためには、Webサーバの改修が必要となる |
透過型方式
最近出てきた新しい方式として、「透過型方式」があります。ユーザがWebアプリケーションサーバへアクセスする際の通信を監視し、ユーザ認証が必要な時のみ認証情報をWebアプリケーションサーバへ送付するという仕組みです。
メリット |
・アプリケーションへの影響を最小限にできる(エージェントのインストールが不要) ・Webアプリケーションへのアクセス方法の変更が必要ない ・どのような端末やWebブラウザでも活用できる ・サーバ側においても、「BASIC認証」「ヘッダ認証」「フォーム認証」といった各種のWeb認証に対応 ・オンプレミスからクラウドサービスまで、幅広い環境へ適用できる ・既存環境への影響もごく小さい |
まとめ
シングルサインオンを実現するための仕組みや方式は、いろいろなパターンがあります。既存環境やシステム要件に合わせて、適切な方式を選択する必要があります。
「OpenAMを活用したシングルサインオン環境のご相談や、価格についてはお問合せ下さい!」