シングルサインオン
Single SIgn-On: SSO
認証を必要とする複数のシステムが存在する場合に、最初に1回認証に成功すればその他システム(許可されているシステム)は認証プロセスを経ずに利用できるようにする
システム的にはアクセスするサーバが変わるたびに毎回ユーザ認証が行われるが、ユーザが認証プロセスを意識する必要がないような仕組みになっている
SSOを実現する仕組み
クッキーによるサーバ間でのユーザ識別情報の交換(共有)
リバースプロキシサーバによるユーザ識別/認証の集約化(共有)
SAMLによるサーバ間でのユーザ識別情報の交換(共有)
クッキーを用いたSSO
エージェント型SSOとも呼ばれる
認証が必要なWebサーバーにエージェントをインストールする
エージェントが認証サーバにアクセスして認証プロセスを代行する
流れ
ユーザがクライアント(PCなど)に認証情報を入力
認証情報を受け取ったWebサーバ1にて、エージェントが認証サーバにアクセスして認証を行なう
Webサーバは、認証済みの識別情報をクッキーに入れてクライアントに返す
ユーザが同じクライアントで、別のWebサーバ2にアクセスする
Webサーバ2では、クライアントのクッキーを元に、エージェントが認証サーバにアクセスして認証を行なう
リバースプロキシを用いたSSO
すべてのWebサーバへのアクセスを、認証サーバを兼ねたプロキシサーバ(リバースプロキシサーバ)に集約し、ユーザ認証を行う
クライアントがログインに成功すると、認証サーバは目的のサーバに代理アクセスする
SAMLによるSSO
SAMLで詳しく記載