SSOとは
SSO(Single Sign On:シングルサインオン)とは、ひとつのシステムへのログインが成功すればほかの複数のシステムには自動で認証してくれるもののことを指します。つまり一つのID、パスワードで複数のシステムにログインできるようになります。そのSSOを実現するためにはおもに代理認証方式、エージェント方式、リバースプロキシ方式、フェデレーション認証方式、透過型方式の5つの認証方式があります。本記事ではSSOの5つの認証方式について、仕組みやメリット、デメリットについて解説します。
SSOについて詳しくはこちらの記事をご覧ください。
「シングルサインオン(SSO)とは何か?」今さら訊けないSSOの解説
SSOを実現する5つの認証方式
SSOを実現する、以下の5つの認証方式についてご紹介します。
- 代理認証方式
- エージェント方式
- リバースプロキシ方式
- フェデレーション認証方式
- 透過型方式
代理認証方式
代理認証方式とは
代理認証方式とは、使用する端末にエージェントをインストールすると対象のウェブシステムやアプリケーションの「ID・パスワードを入力してください」というログイン画面を検知して、専用のサーバによって人が入力する代わりに自動で入力を完了するSSOの方式です。代理認証方式単体で用いられるだけでなく、エージェント方式、リバースプロキシ方式と組み合わせて利用されることや、特にIDaaSではフェデレーション認証方式と併用されることがあります。
代理認証方式のメリット
- エージェント方式ではSSOできないレガシーシステムにもSSOできる
- アプリケーションのサーバに改修が不要
代理認証方式のデメリット
- エージェントの導入が必要
- ID情報を専用サーバとアプリケーション側で常時一致させていなければならない
エージェント方式
エージェント方式とは
エージェント方式では、ウェブシステムの機能を提供しているサーバであるウェブサーバやアプリケーションサーバに認証を行ってくれるエージェントモジュールを組み込みます。このエージェントモジュールがブラウザとアプリケーションの間に入り、認証サーバが認証成功情報を格納して認証済みcookieを発行してSSOを可能にします。具体的なSSOの流れとしては
① 初回ログイン時に認証サーバを介してログイン
② 認証サーバが認証済みcookieを発行
③ アプリケーションにアクセス
④ エージェントが認証済みcookieを確認
⑤ 4で確認が取れたらログイン状態でレスポンスを返す となります。
エージェント方式のメリット
- 既存ネットワークに変更を加えないでSSOを実現できる
- トラフィックが集中するわけではないため同時使用のユーザ数が多くても対応可能
- エージェントモジュールを組み込みさえすれば拡張が可能
エージェント方式のデメリット
- SSO環境に組み込みたいウェブシステムすべてのサーバにエージェントモジュールをインストールしなければならない。
- 特に古いウェブシステムやアプリケーションだと、エージェントモジュールがサーバに対応していない場合がある
- クラウドサービスだと自社で勝手にエージェントをインストールすることができないのでクラウドサービスでのSSOが難しい
リバースプロキシ方式
リバースプロキシ方式とは
リバースプロキシ方式はWebシステムとアクセスする端末との間にリバースプロキシを設置してシステムへのアクセスの際にリバースプロキシを経由してログインする方式です。エージェント方式で組み込んでいたエージェントの機能をリバースプロキシサーバに集約するといったイメージです。そのためエージェント方式に比べて導入の際のコストが低いというメリットがあります。
リバースプロキシ方式のメリット
- 導入の際のコストがエージェント方式と比較して低い
- エージェントの導入が難しいシステムにも対応が可能
- 特定のOSに依存することがない
リバースプロキシ方式のデメリット
- リバースプロキシを経由するようなネットワークの設計が必要
- 負荷が集中してしまう
フェデレーション認証方式(SAML認証)
フェデレーション認証方式とは
クラウドサービスの普及によって注目されている認証方式です。Active Directoryはドメイン内でのSSOを提供しているディレクトリサービスとして人気でしたが、クラウドサービスは自社ドメイン外であるためSSO対象に含めることができませんでした。このような中で異なるドメイン間でも直接パスワードなどの情報を渡すことなく、共通のプロトコルでやり取りすることでSSOが実現できます。認証を管理するサービスをIdP(Identity Provider)といい、SSOの対象とするサービスをSP(Service Provider)といいます。
SAMLの詳細はこちらの記事をご覧ください。
SSOの実現に必要な「SAML」とは?
フェデレーション認証方式のメリット
- それまで難しかったクラウドサービスのSSOがプロトコルに対応していれば簡単にできる
- ユーザ情報が安全な形でやり取りされる
フェデレーション認証方式のデメリット
- プロトコルに対応していないとSSO対象にできない
- 既存システムをプロトコルに対応させる場合改修が必要
透過型方式
透過型方式とは
透過型方式とは、ユーザーがシステムやアプリケーションへアクセスする際に、そのアクセス通信を監視するサーバーを設置し、ユーザー認証が必要なときのみ認証情報を送信することでSSOを実現する方式です。ユーザー端末とWebシステムの間に透過型認証に対応したSSO製品を導入することでSSOを実現でき、エージェントソフトのインストールやネットワーク構成の変更といった手間が不要です。また、透過型認証に対応している代理認証方式やエージェント方式の選択ができます。ほかの方式と比較して新しい方式となっています。
透過型方式のメリット
- エージェントモジュールのインストールやネットワーク構成の変更が不要
- さまざまな端末やブラウザに対応している
- クラウドはもちろんオンプレミ環境にも対応している
- 複数の認証方式に対応している
透過型方式のデメリット
- 透過型認証に対応しているSSO製品が必要
まとめ
SSOの認証方式には大きく分けてサーバサイドに変更を加えるエージェント方式、リバースプロキシ方式、クライアント側に変更を加える代理認証方式、クラウドサービスが流行するにあたって普及が進んでいるフェデレーション方式、そして既存環境に変更を加える必要が少ない比較的新しい透過型方式の5種類がありました。どの認証方式にもメリットがある一方で一つの認証方式だけで完璧ということはありません。自社でSSOを実現させるにはどの方式がベストなのかの検討が必要になります。かもめエンジニアリングは長年認証にかかわってきた専門家です。ぜひ下記フォームよりご相談ください。
事業・商品・サービスに関するお問い合わせ
製品に関するお問い合わせはこちら
※フリーメールでのお問い合わせは受け付けておりません。