|
シングルサインオンはサービス利用者が一度認証を受けるだけで、許可されている全てのサービスを利用できるようにする仕組みである。 ネットサービス会社はホームページやブログ、電子メール、ソーシャルブックマークなど複数のサービスを提供しているところも多い。サービス毎にIDを発行する仕組みは利用者及びネットサービス会社の双方にとって不都合がある。利用者にとってはIDとパスワードの管理が煩雑になる。ネットサービス会社にとってはサービス毎にIDを管理する運用コストが増大する。 このデメリットを解決する仕組みがシングルサインオンである。これによって、一つのIDで全てのサービスの認証が可能になり、利用者もネットサービス会社もサービス毎にIDやパスワードを管理する必要はなくなる。 シングルサインオンの実現には、共通IDを含む認証情報と、利用者の氏名や属性情報(メールアドレスなど)を一元管理するシステムが必要になる。このシステムには高い可用性(システムを利用したい時に利用できること、壊れにくいこと)が要求される。何故なら、ログインを一元管理するシステムに障害が発生すると、誰もログインできなくなり、全てのサービスが利用できなくなってしまうためである。 Webにおいてシングルサインオンを実現させる場合、一般的にはクッキーにセッションIDなどの情報を格納することで、認証された利用者に対するセッションを維持する。但し、ブラウザがクッキーをサーバに送信するかはドメイン名で判断するため、クッキーはドメイン名の異なるサーバに送ることはできない。そのため、複数ドメインでサービスを提供する場合には利用できない。 この場合はリバースプロキシ(逆プロキシ)の利用が考えられる。これは利用者とWebサーバの間に逆プロキシ・サーバを設置する方式である。利用者からのアクセスは逆プロキシ・サーバが認証を行った上で各Webサーバに中継する。これによってシングルサインオンを実現する。新たに機器を設置することになるため、ネットワークの構成やWebアプリケーションへのアクセス方法が変更されるものの、Webアプリケーション自体の改修は基本的には不要である。 |