Identity Protocols
認証・認可方式の比較
本人確認を行う認証と、アクセス権を制御する認可を分け、各方式の目的とトークン形式を比較します。
Catalog Scope
7
Methods
1
Collection
Collection 01
主要な認証・認可方式(7)
OAuth 2.0
認可(アクセス委譲)
パスワードを渡さずに、サードパーティへ「ここまでアクセスしてよい」という権限を委譲する認可の標準。「〇〇でログイン」や API 連携の土台。
OpenID Connect
認証(本人確認)
OAuth 2.0 の上に「誰がログインしたか(認証)」を足した層。ID トークンで本人情報を安全に伝える、ソーシャルログインの実体。
SAML 2.0
認証(エンタープライズ SSO)
XML ベースのエンタープライズ SSO 標準。社内の IdP(ID プロバイダ)と各 SaaS の間でシングルサインオンを実現する、企業で根強い方式。
JWT
認証/認可情報の運搬
「誰が・何ができるか」を署名付き JSON で運ぶトークン形式。OIDC の ID トークンや API 認証で広く使われる。詳しくは Web の [認証](/web/web-auth/) も参照。
セッション認証(Cookie)
認証
サーバにセッションを保持し、Cookie のセッション ID で本人を識別する古典的で確実な方式。サーバ側で即座に失効できるのが強み。
API キー
認証(主に機械間)
1 つの秘密の文字列で呼び出し元を識別する最も単純な方式。サービス間連携やスクリプトで手軽に使える。
mTLS(相互 TLS)
相互認証
サーバだけでなくクライアントも証明書で身元を示す相互認証。改ざん・なりすましに強く、ゼロトラストやサービス間通信で使われる。詳しくは [TLS](/network/tls/) も参照。
| 項目 | OAuth 2.0 | OpenID Connect | SAML 2.0 | JWT | セッション認証(Cookie) | API キー | mTLS(相互 TLS) |
|---|---|---|---|---|---|---|---|
| 種別 | 認可フレームワーク | 認証プロトコル(OAuth 2.0 上) | 認証プロトコル(XML) | トークン形式 | サーバ側セッション | 共有シークレット | 証明書ベース |
| 目的 | 認可(アクセス委譲) | 認証(本人確認) | 認証(エンタープライズ SSO) | 認証/認可情報の運搬 | 認証 | 認証(主に機械間) | 相互認証 |
| トークン・形式 | アクセストークン | ID トークン(JWT) | SAML アサーション(XML) | 署名付き JSON | セッション ID(Cookie) | API キー文字列 | クライアント証明書 |
| 一番の強み | パスワードを共有せず権限委譲 | OAuth に認証を標準化して追加 | エンタープライズ SSO の実績 | ステートレス(サーバ側に保存不要) | サーバ側で即時に失効できる | とにかく単純で導入が速い | 双方向で強力な認証 |
| 主な用途 | API へのアクセス委譲 | ソーシャルログイン | 企業の SSO | API 認証 | 伝統的な Web アプリ | サービス間 API 呼び出し | サービス間(マイクロサービス)通信 |