1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSOの実現方式と登場技術をひとまとめに整理してみた【SAML / Kerberos / OAuth 2.0 / OIDC】

Last updated at Posted at 2025-08-27

はじめに

SAML、OAuth 2.0、Kerberos(ケルベロス)──認証まわりの用語は聞き覚えはあっても、どれが何をしていてどう使い分けられているのかが混乱しやすい領域です。

僕自身、SSO(シングルサインオン)について調べていた際に「SAMLとOAuthの違いって何?」「Kerberosって古い?」などと疑問だらけでした。

そこで今回は、 SSOの実現に関わる代表的な技術(SAML / Kerberos / OAuth 2.0 / OpenID Connect) を中心に、それぞれの役割や登場シーン、関係性を整理してまとめました。
似たような混乱に陥った方の整理メモとして少しでも役立てば嬉しいです。

シングルサインオン(SSO)とは

SSO(Single Sign-On)は、一度のログインで複数のサービスに再ログインなしでアクセス可能にする仕組みである。

たとえばGoogleアカウントでSlackにログインしたり、Windows端末にログインするだけで社内ファイルサーバーにもアクセスできるといった例がSSOにあたる。

Googleアカウントのような外部サービス連携ではSAMLやOIDCが、社内LANでのアクセス制御にはKerberosが使われることが多い。

このSSOを実現するためにさまざまな技術が利用されている。
特に代表的なものが、 SAML / Kerberos / OAuth 2.0 / OpenID Connect(OIDC) である。

各技術の役割と使われ方

以下は各技術の主な役割と用途を簡単に整理した。

技術 役割 主な用途 備考
SAML 認証 Webサービス間のSSO(Google, Slack など) XMLベース。IdPとSPで構成される
Kerberos 認証+チケット発行 社内ネットワークでのSSO(AD環境など) TCP通信を用いたチケット認証方式
OAuth 2.0 認可 APIや外部アプリへのアクセス権限の委譲 認証ではなく「権限移譲」が目的
OpenID Connect 認証 「Googleでログイン」などのSSO OAuth 2.0をベースとした認証プロトコル

OAuth 2.0はSSOなのか?

OAuth 2.0はよくSSOと混同されるが、 本来はSSOそのものではない
OAuth 2.0は、他のアプリにアクセス権限を与える「 認可(Authorization) 」の仕組みであり、ユーザーの本人確認(認証)は目的としていない。

SSOに必要な「 認証(Authentication) 」の役割を担うのが、OAuth 2.0の拡張仕様である OpenID Connect(OIDC) である。

たとえば、以下のようなログイン方式は OAuth 2.0 + OIDC によって構成されている。

  • Googleアカウントでログイン

  • LINEログイン

  • Appleでサインイン

このように、 OAuth 2.0はSSOの基盤技術にはなるが、それ単体ではSSOを実現できない 点に注意が必要である。

SAMLとKerberosの違いと使い分け

SAMLとKerberosはいずれもSSOを実現する技術だが、使われる環境がまったく異なる。

比較項目 SAML Kerberos
主な用途 Webサービス間のSSO(SaaS連携など) 社内ネットワークのSSO(ファイル共有、社内Webなど)
通信プロトコル HTTP + XML TCP + 暗号化チケット
認証基盤 IdP(Identity Provider:例 Azure AD、Okta) KDC(Key Distribution Center)
利用環境 ブラウザベースのインターネット環境 LAN内、Windowsドメイン
代表例 Google Workspace、Slack Active Directory配下のWindows端末

まとめると、 社外SaaSとのSSOにはSAMLまたはOIDC社内ネットワーク内のSSOにはKerberos が適している。

SSOの実現方式と技術の関係性

SSOにはさまざまな実現方式が存在し、それぞれに対応する技術がある。

実現方式 概要 SAMLとの関係 Kerberosとの関係
フェデレーション方式 トークン(SAMLやOIDC)を通じてサービス間で認証情報を共有 ◯ 主役 ✕ 無関係
チケット方式 チケットを用いて社内リソースへ認証付きアクセスを行う ✕ 無関係 ◯ 主役
リバースプロキシ方式 プロキシが認証・認可を中継。SAMLやKerberosと併用されることも △ 補助的 △ 補助的
エージェント方式 アプリに認証モジュールを組み込む △ 拡張次第 △ 拡張次第
クッキー共有方式 認証Cookieをサブドメイン間で共有 ✕ 無関係 ✕ 無関係

技術マッピングまとめ

以下の図式で整理できる。

【用途】 【技術】
社外WebサービスSSO SAML / OpenID Connect(OAuth 2.0拡張)
社内LAN環境SSO Kerberos
認可(アクセス権の委譲) OAuth 2.0
認証(Web向けSSO) OpenID Connect(OAuth 2.0拡張)

おわりに

SSOまわりは用語が似ていたり役割が重なっていたりするため最初は混乱しやすい領域です。
僕自身も用語の整理と使い分けの観点をはっきりさせることで理解が進みました。
同じように「どれがどの技術で、どう使われるのか?」と迷っている方の参考になれば幸いです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?