【企業向け】SSOのベストプラクティスは?
schedule 2017/09/15 refresh 2023/11/09
はじめに
企業内で、シングルサインオンを導入する。このことはもはや、時代の要請であるといえそうです。
方法は、いろいろあるでしょう。各種の方法の長短所をあげ、どのような形を取れば、よりよいシングルサインオン環境を実現できるのかを、論じていきます。
イントラネット環境がメインの方式
シングルサインオンを実現するには、大きくわけて4つの方式があります。まず、イントラネット環境で実現する方式を見ていきます。
エージェント型は代表的なシングルサインオンの実現方法で、Webのアプリケーションサーバーに、認証を代行する「エージェント」モジュールをインストールする方法です。拡張性にすぐれており、ネットワークの構成を変更する必要がありません。
リバースプロキシ型も、よく知られた方式です。こちらでは、ユーザーはまずリバースプロキシにアクセスします。リバースプロキシが、ユーザー認証やWebアプリケーションへのアクセスを代行する形となります。アプリケーションサーバーの隠蔽ができますので、安全性の高い方法であるといえるでしょう。
クラウドにも対応できる方式
クライアントエージェント型、または代理認証型と呼ばれる方式もあります。クライアント側に、ユーザーIDとパスワードを代行入力させるソフトをインストールすることで、シングルサインオンを実現します。
利用するクライアントエージェントによっては、クラウドなどの外部サービスとの連携も可能です。
フェデレーション型、または連携型という方式もあります。ユーザーが信頼済みプロバイダへログインしたのち、アプリケーション起動時に、アプリケーション側が信頼済みプロバイダに信頼情報を確認します。
フェデレーション型については、プロトコルの標準化が進んでいます。利用できるアプリケーションは社内か、クラウドかを選びません。
それぞれの長短所
4つの方式を、紹介しました。これらは、それぞれに排他的なわけではありません。互いに長所を取り込み、短所を補いあう関係性であることに着目してください。
たとえば、フェデレーション型とクライアントエージェント型を組み合わせた、ハイブリッドな方式を採用することもできます。
そして、それぞれの方式には、長所と短所が存在します。たとえば、リバースプロキシ型では、多数のユーザーが同時にアクセスすることが想定される場合、リバースプロキシへのアクセス集中を考慮する必要があります。適切な、ロードバランシングが欠かせません。
エージェントソフトを使う方式の場合は、それがクライアント型にしても、サーバー型にしても、適切なバージョン管理が必要です。フェデレーション方式では、標準プロトコルに対応していないサービスは、シングルサインオンに対応できません。
組織規模でも、選択は変わる
さて、これらの方式の選択については、組織規模も大きな意味を持ちます。同時接続ユーザー数が多い場合には、リバースプロキシ型の採用については慎重になるべきですが、中堅規模で社内システムが多い場合は、積極的な検討が推奨されます。
また、オンプレミスにするか、IDaaSを含んだSaaS型のサービスを導入するのかも考えどころといえるでしょう。特に小規模な組織では、オンプレミスはハードルが高くなる傾向があります。費用対効果を考えると、現実的な話ではなくなるかも知れません。
このように、どの手法・手段がベストになるのかは、議論の余地があります。それらを勘案した上で、ベストプラクティスになりえるのは、SaaS型サービスと考えることができそうです。
絞り込みは困難だが、ベストを論じる
SaaS型サービスの中にはエージェントのみならず、リバースプロキシとの連携が可能なものもあります。もちろん、クラウド管理にも十分な機能を備えています。冒頭あげた4つの方法について、実現可能な選択肢は、思いの外多いのです。
イニシャルコストも低く、段階的な導入が可能なことも大きなメリットです。シングルサインオンというソリューションは、基本的には一気に導入するものではなく、ステップバイステップで導入するものであることとの親和性も高いといえます。
企業システムは、時代とともに成長します。拡張に対応できる柔軟性と、シングルサインオンに求められる堅牢性を同居させることが可能なSaaSが、現時点で考えられるベストです。