「OAuthでログインする」「SSOを導入する」といった言葉を使っていて、実は違いをうまく説明できないと感じたことはありませんか。
ログイン周りの技術は、言葉が似ている一方で、指しているレイヤーが大きく異なるため混乱しやすい分野です。
本記事では、認証と認可という基本から、SSOというユーザー体験、フェデレーションという仕組み、そしてOAuth・OIDC・SAMLといった規格の役割までを体系的に整理します。
それぞれを「行為・体験・仕組み・ルール」という視点で分けて解説することで、用語の違いだけでなく、なぜ混同が起きるのかまで理解できる構成になっています。
Web開発や情シス業務でログイン基盤に関わる方が、設計や会話で迷わなくなるための地図として、ぜひ最後まで読んでみてください。
ログイン機能を理解するために最初に知るべき全体像とは

ログイン機能の話題は、用語が多く混ざりやすい分野です。
最初に全体像を押さえることで、後から出てくる専門用語が驚くほど整理しやすくなります。
ここでは、ログイン周りの技術を俯瞰するための考え方を紹介します。
なぜログイン周りの用語は混乱しやすいのか
ログインに関する言葉が難しく感じる理由は、同じ会話の中で異なるレイヤーの話が混ざりやすいからです。
例えば、認証は本人確認の話ですが、SSOはユーザー体験の話です。
さらにOAuthやSAMLは通信ルールの話であり、議論している対象がそもそも違います。
この違いを意識しないまま会話をすると、話が噛み合わなくなります。
レイヤーで考えると一気に整理できる理由
ログイン機能は、役割ごとにレイヤー分けすると理解しやすくなります。
行為、体験、仕組み、ルールという視点で分けるのがコツです。
どのレイヤーの話をしているのかを意識するだけで、用語の混乱は大きく減ります。
| レイヤー | 該当する用語 | 意味 |
|---|---|---|
| 行為 | 認証・認可 | 誰か、何ができるかを定義する |
| 体験 | SSO | 一度のログインで複数サービスを使える体験 |
| 仕組み | フェデレーション | システム同士が認証結果を信頼する構成 |
| ルール | OAuth・OIDC・SAML | 情報を受け渡すための規格 |
認証と認可の違いは何かを一言で説明できるようにする
ログイン技術の中で、最も基本かつ重要なのが認証と認可の違いです。
この2つを正しく説明できるようになると、他の概念も理解しやすくなります。
ここでは、それぞれの役割を具体例とともに整理します。
認証とは何を確認している仕組みなのか
認証とは、「あなたが誰であるか」を確認するプロセスです。
IDとパスワードの入力や生体認証が代表例です。
システム側が「この操作をしているのは、登録済みの本人だ」と判断する行為が認証です。
認可とはどこまで許可するかを決める仕組み
認可とは、「その人が何をしてよいか」を決めるプロセスです。
本人だと分かっていても、管理者でなければ設定画面に入れないことがあります。
本人確認が済んでいることと、操作を許可することは別問題です。
HTTPステータスコードで理解する認証と認可の差
Webの世界では、認証と認可の違いはHTTPステータスコードにも表れます。
401エラーは認証が必要な状態を示します。
403エラーは認証済みだが権限が足りない状態を示します。
この違いを理解していると、トラブルシュートが楽になります。
| 項目 | 認証 | 認可 |
|---|---|---|
| 目的 | 本人かどうかの確認 | 操作してよい範囲の決定 |
| 例 | ID・パスワード入力 | 管理画面へのアクセス制御 |
| 関連エラー | 401 Unauthorized | 403 Forbidden |
SSOとは何かをユーザー体験の視点で理解する
SSOは、ログイン技術の中でもユーザーが直接メリットを感じやすい概念です。
仕組みの話に入る前に、まずは体験としてのSSOを理解することが大切です。
ここでは、SSOが何を便利にしているのかを整理します。
シングルサインオンが実現する具体的なメリット
SSOとは、1回のログイン操作だけで複数のサービスを利用できる状態を指します。
メールやチャット、勤怠管理などを個別にログインしなくて済むのが最大の特徴です。
ユーザーは「ログインしているかどうか」を意識しなくなります。
これは利便性だけでなく、セキュリティ面でも効果があります。
パスワードを使い回したり、付箋に書いて貼ったりする行為が減るからです。
SSOがない世界で起きる運用上の問題
SSOがない場合、サービスごとにIDとパスワードを管理する必要があります。
これはユーザーにとっても、管理者にとっても負担になります。
パスワード忘れによる問い合わせが急増しやすい点は大きな問題です。
結果として、ヘルプデスクの工数が増え、業務効率が下がります。
| 観点 | SSOあり | SSOなし |
|---|---|---|
| ログイン回数 | 1回 | サービスごとに必要 |
| パスワード管理 | 最小限 | 煩雑 |
| 問い合わせ対応 | 少ない | 多い |
フェデレーションとは何かをシステム構成で理解する

SSOという体験を実現するために使われる代表的な仕組みがフェデレーションです。
フェデレーションはユーザーからは見えにくいですが、裏側では非常に重要な役割を担っています。
ここでは、システム視点でフェデレーションを解説します。
フェデレーションが必要とされる背景
フェデレーションとは、システム同士が認証結果を信頼し合う仕組みです。
あるシステムで行った本人確認の結果を、別のシステムでも有効と認めます。
企業で多くのSaaSを導入すると、ID管理を一元化しないと破綻しやすくなります。
SSOとフェデレーションの関係性を整理する
SSOはユーザーが得られる体験を指す言葉です。
一方、フェデレーションはその体験を支える裏側の仕組みです。
フェデレーションという土台があるからこそ、SSOが成立します。
| 項目 | SSO | フェデレーション |
|---|---|---|
| 視点 | ユーザー体験 | システム構成 |
| 目的 | ログインを楽にする | 認証結果を共有する |
| 関係性 | フェデレーションによってSSOが実現される | |
IdPとSPはそれぞれ何を担当しているのか
フェデレーション構成を理解するうえで欠かせないのが、IdPとSPの役割分担です。
この2つを混同すると、設計や障害対応で大きな誤解が生まれます。
ここでは、誰が何をしているのかを明確に整理します。
IdPが担う役割と責任範囲
IdPはIdentity Providerの略で、認証を担当する主体です。
ユーザー情報を保持し、IDやパスワードを検証して本人確認を行います。
認証に成功すると、その結果を示すトークンを発行します。
「この人は本人である」という判断を下すのがIdPの責任です。
SPがやっていることとやっていないこと
SPはService Providerの略で、実際のサービスを提供する側です。
SPは基本的にパスワード認証を自前では行いません。
IdPが発行したトークンを検証し、その結果を信頼してログインさせます。
SPは本人確認をしているように見えて、実際には確認していません。
IdP障害が全体に与える影響
IdPは複数のSPから依存される存在です。
そのため、IdPで障害が起きると、多くのサービスに同時にログインできなくなります。
これは利便性と引き換えに生まれる集中リスクです。
| 項目 | IdP | SP |
|---|---|---|
| 主な役割 | 認証とトークン発行 | サービス提供 |
| パスワード管理 | 行う | 行わない |
| 障害時の影響 | 広範囲 | 限定的 |
OAuthとOIDCとSAMLは何がどう違うのか
IdPとSPの間で情報をやり取りするには、共通のルールが必要です。
OAuth、OIDC、SAMLはそのための規格です。
ここでは、それぞれの目的と違いを整理します。
OAuth 2.0は何を目的とした規格なのか
OAuthは認可、つまり権限の委譲を目的とした規格です。
あるアプリが、別のサービスの機能を限定的に使うために利用されます。
アクセストークンを使ってAPIへのアクセス権を表現します。
OIDCがOAuthに追加した認証の仕組み
OIDCはOAuthの上に認証の仕組みを追加した規格です。
アクセストークンに加えて、IDトークンが発行されます。
OIDCによって「誰がログインしたか」を安全に判断できます。
SAMLが今も企業システムで使われる理由
SAMLはXMLベースの古くからある規格です。
設定は複雑ですが、企業向けSSOでは今も広く使われています。
厳格なセキュリティ要件に対応しやすい点が特徴です。
| 規格 | 主な役割 | 主な用途 |
|---|---|---|
| OAuth 2.0 | 認可 | API連携 |
| OIDC | 認証+認可 | ログイン機能 |
| SAML | 認証+認可 | 企業向けSSO |
OAuthとOIDCが混同される理由と正しい使い分け
ログイン周りの技術で、最も混乱が起きやすいのがOAuthとOIDCの関係です。
実務でも、この2つが同じ意味で使われてしまう場面をよく見かけます。
ここでは、なぜ混同されるのかと、正しい切り分け方を整理します。
OAuthだけではログインできない理由
OAuthは本来、認可、つまり権限を委譲するための仕組みです。
あるアプリが別サービスのAPIを使うための許可を得ることが目的です。
そのため、OAuthだけでは「誰が操作しているか」を保証しません。
OAuthは本人確認を行う仕組みではありません。
IDトークンが果たす決定的な役割
OIDCでは、OAuthの仕組みにIDトークンが追加されます。
IDトークンはJWT形式で、ユーザーの識別情報を含みます。
これにより、アプリはログインしたユーザーが誰かを安全に判断できます。
IDトークンの有無が、OAuthとOIDCの本質的な違いです。
API連携とログイン実装の判断基準
技術選定で迷った場合は、目的に立ち返るのが一番です。
APIを使わせたいだけなのか、ユーザーとしてログインさせたいのかを考えます。
前者であればOAuth、後者であればOIDCを選びます。
| 目的 | 適した技術 | 理由 |
|---|---|---|
| API機能の利用 | OAuth | 権限委譲に特化している |
| ユーザーログイン | OIDC | IDトークンで本人を識別できる |
どの技術を選ぶべきかをケース別に整理する
ここまで理解できると、次に悩むのが技術選定です。
用途や組織の立場によって、最適な選択は変わります。
ここでは、よくあるケース別に考え方を整理します。
社内システムとSaaS連携の場合
企業内で複数のSaaSを使う場合、SSOの導入はほぼ必須です。
この場合、SAMLやOIDCを使ったフェデレーション構成が選ばれます。
既存の情シス運用や対応SaaSによって規格を決めるのが現実的です。
モダンWebアプリとスマホアプリの場合
新規開発のWebアプリやスマホアプリではOIDCが主流です。
JSONベースで扱いやすく、実装ライブラリも豊富です。
特別な理由がなければOIDCを選ぶのが無難です。
情シスと開発者で視点が異なるポイント
情シスは運用管理と統制を重視します。
一方、開発者は実装のしやすさや拡張性を重視します。
この視点の違いを理解しておくと、技術選定の議論がスムーズになります。
| 立場 | 重視する点 | 選ばれやすい技術 |
|---|---|---|
| 情シス | 統制・運用 | SAML / OIDC |
| 開発者 | 実装効率 | OIDC |
ログイン技術を正しく理解するためのまとめ

ここまで、ログイン機能に関わる用語や技術を体系的に整理してきました。
一見すると複雑ですが、レイヤーを意識すれば全体像は決して難しくありません。
最後に、重要な考え方をまとめます。
用語をレイヤーで捉える重要性
ログイン周りの混乱は、異なるレイヤーの話を同時にしてしまうことから生まれます。
認証と認可は行為の定義です。
SSOはユーザーが得る体験です。
フェデレーションはシステム同士の信頼の仕組みです。
OAuthやOIDC、SAMLは情報をやり取りするためのルールです。
今どのレイヤーの話をしているのかを意識するだけで、理解度は大きく変わります。
設計と会話が噛み合うようになる考え方
実務では、「OAuthでログインする」「SSOを導入する」といった曖昧な表現が使われがちです。
その際に、体験の話なのか、仕組みの話なのか、規格の話なのかを切り分けて考えることが重要です。
この整理ができていると、設計の議論やトラブル対応での認識ズレが減ります。
結果として、セキュリティと利便性のバランスが取れたログイン基盤を構築しやすくなります。
| 観点 | 押さえるポイント |
|---|---|
| 行為 | 認証と認可は別物として考える |
| 体験 | SSOはユーザーの利便性を高める |
| 仕組み | フェデレーションで信頼関係を作る |
| ルール | 用途に応じてOAuth・OIDC・SAMLを選ぶ |
