シングルサインオンの仕組みについて(代理入力方式編)

シングルサインオンの仕組みについては今まで何回かに分けて説明をしてきたが今回はユーザーの代わりにIDとパスワードを入力する方式について説明をしたい。

現在、ユーザーの代わりにログイン情報はWebに対応しているリバースプロキシー型web SSOとWeb以外にも対応しているエンタープライズシングルサインオン(ESSO)がある。どちらも一長一短があるため、それについて説明を行う。

 二つの方式の大きな違い

リバースプロキシー型webssoとエンタープライズシングルサインオンの一番大きな違いは以下の2点に集約される。

  • webでもそれ以外のWindowsアプリ、ターミナルエミュレータでも両方対応しているのがエンタープライズシングルサインオン、リバースプロキシー型はWebにしか対応していない。
  • エンタープライズシングルサインオンはアドオンのアプリのインストールが必要になるため、OSとwebブラウザーごとに対応状況が異なる。リバースプロキシー型はアドオンアプリが必要ないためあらゆる環境で利用できる可能性が高い。

どちらのほうがいいとは一概に言えず、状況に応じて二つの方式を利用することも考えられる。

エンタープライズシングルサインオンが得意とするところ

エンタープライズシングルサインオンは、表示された画面に対して反応する用に設計されている。

そのため、いろいろなプロンプトを表示したりするアプリケーションに対しては非常に優れているといえる。

たとえば、パスワードを変更する直前にアプリが「本当にパスワードを変更していいですか?」とプロンプトをだすものがある。このときに「キャンセル」を押すと整合性が取りずらくなる。そのため自動的に「はい」をクリックするような仕組みにより対応することが出来る。

confirm-pwd-chd

このような動きをするのはデスクトップアプリだけでなく、Webアプリにもある。このようなプロンプトが出た場合でもエンタープライズシングルサインオンの場合は想定したとおりにユーザーの代わりにクリックすることで対応できる。

リバースプロキシー型の場合はこのような画面が出てもユーザーの代わりにクリックするといったことが難しいので、このようなプロンプトは表示させないように調整する必要がある。それは案外難しいのではないかと思う。

 リバースプロキシー型webssoが得意とする部分

エンタープライズシングルサインオンの場合は、クライアントがどうしても必要となるため対応するOSにも制限がある。

弊社で扱っているAccessMatrix USOの場合でもつい最近iOS版がリリースされたばかりで、すべてのOS/ ブラウザーに対応できるわけではない。

最近だとWindows以外にタブレット等を利用することが普通になってきているので、そのような環境だとどうしてもリバースプロキシー型シングルサインオンの導入を考えてもいいだろう。

まとめ

企業システムではMicrosoft製品が使われることが多く、Web以外のアプリも普通に使われているため、エンタープライズシングルサインオンは今でも根強い人気がある。

また、プロンプトが出るようなアプリだとエンタープライズシングルサインオンのほうがシステムの調整をする必要もないので導入への敷居は低い。

一方、最近のスマートフォンやタブレットの普及により、エンタープライズシングルサインオンが必ずしもベストの選択肢ではないともいえる。

そのため、エンタープライズシングルサインオンとリバースプロキシー型webssoを連動して使うことで双方の長所を生かすことが出来るようになる。

AccessMatrix USOはAPIを利用することにより他システムとの連携が行えるので、webssoと連携して利用することが可能になる。

たとえばWindowsはエンタープライズシングルサインオンで、スマートフォンからのアクセスはwebssoを利用することも可能になる。