SAML・OAuth2・OIDC比較表:試験直前のまとめノート
🌟 はじめに
SAML、OAuth 2.0、OIDCはそれぞれ異なる時代背景と目的で生まれた認証・認可プロトコルです。名前が似ていたり重なる部分があるため混乱しやすいですが、試験や実務での理解には「何を目的とした技術か」を押さえることが重要です。
ここでは、直前チェックに使えるように比較表と要点に絞って整理します。
📊 比較表
項目 | SAML (2.0) | OAuth 2.0 | OpenID Connect (OIDC) |
---|---|---|---|
誕生年 | 2001(1.0)、2005(2.0) | 2010 | 2014 |
標準化団体 | OASIS | IETF | OpenID Foundation |
主目的 | 認証(SSO) | 認可(Authorization) | 認証+認可 |
データ形式 | XML(SAMLアサーション) | JSON(アクセストークン) | JSON(JWT:IDトークン+アクセストークン) |
通信方式 | ブラウザリダイレクト/POST | REST API | REST API |
主な利用シーン | 企業SSO(Salesforce, Shibboleth等) | 「外部アカウントに権限付与」(Twitter連携など) | Google/Microsoftログイン、モバイルアプリSSO |
長所 | エンタープライズ環境で広く利用、豊富な実績 | 権限委譲に強い、シンプル | 認証+認可を統合、モバイル・クラウドに最適 |
短所 | XMLが複雑、モバイルに不向き | 認証機能はない | 実装が多様で理解が難しい場合あり |
後継性 | 古いが今も現役 | 認証には不十分 | 新規システムの主流 |
🎯 試験で狙われやすいポイント
-
SAML:SSO、XML、アサーション(認証・属性・認可)
-
OAuth 2.0:リソース所有者・クライアント・リソースサーバ・認可サーバの4役割
-
OIDC:OAuth 2.0を拡張し「認証」を加えた、IDトークン(JWT)利用
SAMLは「ブラウザ+XML」、OIDCは「REST+JSON」と覚えると混乱しにくい。
✅ まとめ
-
SAML=古いけど企業SSOで現役
-
OAuth 2.0=権限委譲の仕組み
-
OIDC=OAuth2を拡張した認証+認可の現行主流