メインコンテンツまでスキップ

シングルサインオン

Overview

シングルサインオン(SSO)は、ユーザーが一度の認証(ログイン)を行うだけで、連携する複数のアプリケーションやサービスを利用できるようにする仕組み。

比喩で理解するSSO

SSOは「テーマパークのリストバンド」に例えられる。

  • SSOなし: アトラクション(サービス)ごとに毎回チケットを購入(ログイン)する必要がある。
  • SSOあり: 入場ゲート(IdP)で一度身分証を見せてリストバンドを巻けば、園内のすべてのアトラクションをそれだけで利用できる。

シングルサインオンを実現するプロトコル

SSOを実現するための「ルール(プロトコル)」は、用途によって使い分けられる。

プロトコル役割形式主な用途例え
SAML認証XMLエンタープライズ、業務アプリ(Salesforce, Slack等)公的な身分証明書
OAuth 2.0認可JSONAPI連携、リソースへのアクセス権限付与ホテルのカードキー
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): 認証情報を利用してログインを許可するアプリ側。