SSO(Single Sign On)とは、1回の認証作業(サインオン)で複数の異なるサービスを利用できるようにする技術や仕組みを指す。サービス間で認証に関する情報を共有することで実現する。
利用者ごとに異なるサービスを提供するWebサイト(Webサービス)やアプリケーションは、ユーザー認証を必ず実施する。ユーザー認証とは、サービスを利用しようとしている人物が正規の利用者かどうかを確認すること。ユーザー認証には、ユーザーIDとパスワードがよく使われる。
ユーザー認証はサービスごとに実施するのが原則だ。複数のサービスの利用者は、それぞれで毎回認証作業を実施する必要がある(PICT1)。
利用するサービスが多い場合には、認証に必要な情報を管理するのも大変になる。例えばパスワードの場合、それぞれのサービスで推測困難な異なるパスワードを設定し、それらを適切に管理しなければならない。
IDPにユーザー認証を一任
そこで考え出されたのがSSOである。SSOでは、信頼できるID情報の提供者(IDP:IDプロバイダー)にユーザー認証を一任する。コンシューマー向けのサービスであればFacebookやGoogleなどがIDPとなる。企業ネットワーク向けであれば、「Active Directory」などのディレクトリーサービスを利用する。SaaS(Software as a Service)などクラウドサービスとも連携させる場合は、IDaaS(IDentity as a Service)を利用するのが一般的だ。
SSOは利用者と利用するサービス(アプリケーション)、それにIDPの3者が連携して成り立つ(PICT2)。