シングルサインオン
Overview
シングルサインオン(SSO)は、ユーザーが一度の認証(ログイン)を行うだけで、連携する複数のアプリケーションやサービスを利用できるようにする仕組み。
比喩で理解するSSO
SSOは「テーマパークのリストバンド」に例えられる。
- SSOなし: アトラクション(サービス)ごとに毎回チケットを購入(ログイン)する必要がある。
- SSOあり: 入場ゲート(IdP)で一度身分証を見せてリストバンドを巻けば、園内のすべてのアトラクションをそれだけで利用できる。
シングルサインオンを実現するプロトコル
SSOを実現するための「ルール(プロトコル)」は、用途によって使い分けられる。
| プロトコル | 役割 | 形式 | 主な用途 | 例え |
|---|---|---|---|---|
| SAML | 認証 | XML | エンタープライズ、業務アプリ(Salesforce, Slack等) | 公的な身分証明書 |
| OAuth 2.0 | 認可 | JSON | API連携、リソースへのアクセス権限付与 | ホテルのカードキー |
| OIDC | 認証 | JSON (JWT) | モダンなWeb/スマホアプリの主流 | 顔写真付きの会員証 |
OIDCとOAuthの関係
OIDC (OpenID Connect) は、OAuth 2.0という「認可」の仕組みの上に、認証(本人確認)のレイヤーを追加したもの。
「鍵(OAuth)」を渡すだけでなく、「その鍵の持ち主が誰か(OIDC)」という身分証をセットにしたイメージ。
重要な用語
- IdP (Identity Provider): ユーザー情報を管理し、認証を行う側(Google, Okta, Azure ADなど)。
- RP (Relying Party) / SP (Service Provider): 認証情報を利用してログインを許可するアプリ側。