目次
シングルサインオン(SSO)
シングルサインオン(Single Sign On)とは、1度のユーザ認証(ログイン)により複数のシステムが利用できる仕組みです。シングルサインオンを使うことで、利用者はシステムごとに「ログインID」と「パスワード」を管理する必要がなくなります。
シングルサインオンを利用しないユーザ認証
シングルサインオンを利用しない場合は、サービスごとにユーザ認証(ログイン)の機能を実装し、サービスを利用する利用者もサービスごとに「ログインID」と「パスワード」を管理する必要があります。
利用者は管理するログイン情報が多い程、忘れないようにメモに残したり、同じログイン情報を異なるサービスで利用したり、ログイン情報を忘れてしまったりと管理が大変です。
また、セキュリティ上の観点でもサービスごとにユーザ認証(ログイン)を実装し、ログイン情報の管理も行うため、システムによっては十分なセキュリティ対策が実装されていないケースも考えられます。
シングルサインオンを利用したユーザ認証
シングルサインオンを利用した場合は、サービスごとにユーザ認証(ログイン)の機能を実装する必要はなく、サービスを利用する利用者も1つの「ログインID」と「パスワード」で複数のサービスへログインすることが可能です。
そして、ユーザ認証(ログイン)やログイン情報の管理は、シングルサインオンの機能を提供している企業(ユーザ認証の専門家)に任せるため、セキュリティ上の観点でも安心できます。
(※ただし、ユーザ認証を任せている企業で情報漏洩が起きたり、利用者がフィッシング詐欺に遭いログイン情報を盗まれたりすると、他の連携サービスにも影響が出でしまう危険性もあります。)
シングルサインオンを利用することで、システムの利用者は複数のログイン情報を管理する必要がなくなり、利便性が向上します。
シングルサインオンの実装方式
エージェント型
エージェント方式では、対象となるWebサーバに「エージェント」と呼ばれる専用ソフトウェアを導入する方式です。対象サーバに導入した「エージェント」が認証サーバに問い合わせを行い、シングルサインオンの機能を実現します。
リバースプロキシ型
リバースプロキシ方式では、クライアントとWebサーバの間に「リバースプロキシサーバ」を設置する方式です。リバースプロキシサーバが認証サーバに問い合わせを行い、シングルサインオンの機能を実現します。
IDを連携する方式
「Googleアカウントでログイン」や「Facebookアカウントでログイン」など大手企業のIDを連携して利用する方式。具体的なID連携の技術規格としてSAMLやOpenID(OpenID Connect)などを利用し、シングルサインオンの機能を実現しています。