LOCKED
ブログ一覧に戻る
SSO・IDaaSLOCKED MSO

SAML vs OAuth完全比較【プロトコル仕様から実装まで】

関連トピック: SAML認証の実装ガイド【仕様から設定まで完全解説】

エンタープライズシステムのシングルサインオン SSOで認証・認可を検討する際に、「SAMLを使うべきか、OAuthを使うべきか」という判断は避けられない課題です。本記事では、両者の本質的な違い、実装方法、選定基準を技術者向けに詳しく解説します。

SAMLとOAuthの根本的な違い

認証(Authentication)vs 認可(Authorization)

SAML(Security Assertion Markup Language) は、ユーザーがだれであるかを証明する「認証」に特化したプロトコルです。XMLベースで、エンタープライズグレードのセキュリティ要件に対応するため、デジタル署名による改ざん検知、属性情報の詳細な交換が可能です。

一方、OAuth 2.0 はユーザーの「認可」、つまり「このアプリケーションが私のリソースにアクセスすることを許可する」という権限委譲に設計されています。ただし、OpenID Connectを組み合わせることで、認証機能も実現できます。

フォーマット:XML vs JSON

SAMLはXML形式のアサーション(認証情報)を用いるため、冗長性は高いものの、セキュリティクリティカルな情報の完全性が必要な環境での信頼性が高いです。一方、OAuthはJSON形式を多用し、RESTful APIとの親和性が高く、モバイルアプリケーションやコンシューマー向けサービスでの実装が容易です。

適用範囲:エンタープライズ vs コンシューマー

SAMLは大企業やセキュリティ要件が厳格な組織向けの標準として、Office 365、Salesforce、Workdayなどのエンタープライズアプリケーションで広く採用されています。一方、OAuthはFacebook、Google、GitHubなどのプラットフォームで採用され、ユーザー中心のセキュアな認可フローを実現しています。

RFPテンプレート(無料)

IDaaS導入RFPテンプレート

IDaaS導入の社内稟議に使えるRFPテンプレート。SSO、MFA、プロビジョニングなどの要件を網羅したフォーマットです。

無料でダウンロード

プロトコルフロー比較

SAML認証フロー(3段階)

ユーザー → SP(Service Provider) → IdP(Identity Provider) → SP → ユーザー
 (ブラウザ)    (企業アプリ)         (認証サーバ)       (アサーション)
  1. ユーザーがSP内のリソースにアクセスを試みます
  2. SPはユーザーをIdPへリダイレクトします
  3. IdPで認証後、XMLアサーションがPOSTでSPに返されます
  4. SPはアサーションを検証し、ユーザーにセッションを付与します

OAuth 2.0認可フロー(4段階)

Resource Owner → Client → Authorization Server → Client → Resource Server
  (ユーザー)   (アプリ)      (認可サーバ)        (アプリ) (リソースサーバ)
  1. ユーザーがアプリケーションで「Google でログイン」をクリック
  2. アプリケーションがユーザーをGoogleへリダイレクト
  3. ユーザーが権限付与に同意し、認可コードを取得
  4. アプリケーションがこのコードでアクセストークンを交換
  5. アプリケーションがトークンを使ってユーザーのリソースにアクセス

技術的詳細比較

項目SAMLOAuth 2.0
用途認証(Authentication)認可(Authorization)
フォーマットXMLJSON
署名・暗号化デジタル署名・XML暗号化必須TLSベース(署名はOpenID Connect時)
メタデータ交換事前のメタデータ交換が必須不要(エンドポイント直接指定)
導入難易度高い(複雑な仕様)低い(直感的)
リフレッシュメカニズムセッションベースリフレッシュトークン
属性情報詳細な属性を標準サポートOpenID Connect必須

実装上の選定基準

SAMLを選ぶべき場合

  • 大企業のエンタープライズシステム統合:複数の企業アプリケーション間でユーザー認証を一元化したい
  • セキュリティ要件が最優先:金融機関や医療機関など、改ざん防止、監査ログが必須
  • オンプレミス環境でのIdentity管理:Active DirectoryやOpenLDAPとの連携が必要
  • 既存SAML環境の拡張:組織内で既にSAML導入実績がある

OAuthを選ぶべき場合

  • モバイルアプリケーション開発:ネイティブアプリでのセキュアな認可が必要
  • コンシューマーサービス:ユーザーが複数のプラットフォームアカウントで利用する想定
  • APIファーストの開発:REST APIを中心とした疎結合なアーキテクチャ
  • 段階的な権限管理:アプリごとに異なる権限範囲(スコープ)を指定したい場合

ハイブリッドアプローチ

実際の運用では、SAMLとOAuthを組み合わせる企業が増えています。例えば:

  • 従業員向けシステム:SAML SSO(Active Directory連携)で実装
  • 顧客向けSaaS:OAuth 2.0 + OpenID Connectで実装
  • パートナー企業連携:SAMLフェデレーション

LOCKED MSO での両プロトコル対応

LOCKED MSO は、SAML 2.0、OAuth 2.0、OpenID Connectの全対応により、エンタープライズSSO・認可管理を統一的に実現します。

主要な対応機能

  • マルチプロトコル同時運用:SAML、OAuth、OIDCを同一の管理画面で構成可能
  • 動的属性マッピング:Active Directory、Google Workspace、Microsoft Entra IDからの属性を自動マッピング
  • リスクベース認証:異常ログイン検知時の追加認証自動トリガー
  • 詳細な監査ログ:全認証・認可イベントの90日以上の保持と可視化

設定の具体例

# SAML設定
Protocol: SAML 2.0
MetadataURL: https://idp.example.com/metadata
NameIDFormat: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
AttributeMapping:
  email: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname

# OAuth設定
Protocol: OAuth 2.0
Scope: openid profile email
TokenEndpoint: https://auth.example.com/oauth/token
UserInfoEndpoint: https://auth.example.com/oauth/userinfo

よくある実装課題と対応策

課題1:SAMLメタデータの期限切れ

問題:メタデータに含まれる署名用証明書の有効期限が切れると、認証ができなくなります。

対応

  • LOCKED MSO の「メタデータ自動更新機能」で、週1回の定期確認
  • 証明書更新30日前に情シス担当者に自動通知
  • テスト環境での事前検証フロー

課題2:OAuth スコープ権限の過剰付与

問題:不要なスコープを要求すると、セキュリティリスクになります。

対応

  • 必要最小限のスコープのみ指定(openid, profile, emailなど)
  • 権限レビュー時に自動監査ログを確認
  • 過剰スコープ検知時の警告アラート

実装事例:大手IT企業(社員1,500名)

この企業は、ActiveDirectoryベースのSAML SSO導入後、API連携強化のため段階的にOAuth対応を進めました。

フェーズ1(SAML SSO):3ヶ月で全社導入、パスワード管理コスト年間1,200時間削減 フェーズ2(OAuth API):6ヶ月で開発環境の権限委譲を実装、開発生産性が15%向上

最終的にLOCKED MSO導入により、プロトコル切り替えが容易になり、セキュリティ標準化のサイクルが6ヶ月から3ヶ月に短縮されました。

まとめ

SAMLとOAuthは、用途と要件に応じて選び分けるべきプロトコルです。SAMLはセキュリティと属性情報の詳細さが必要なエンタープライズシーン、OAuthはモバイルアプリやAPI経由のアクセス管理に向いています。LOCKED MSO なら両者を統一管理でき、組織成長に応じた段階的な移行も容易です。


参考資料・外部リンク

関連記事

LOCKEDの詳細を見る

シングルサインオン・認証管理でお悩みなら、LOCKEDの無料デモをお試しください。

資料請求・デモ依頼はこちら →

よくある質問

商標について:本記事に記載されているAzure ADMicrosoft Entra IDGoogle WorkspaceMicrosoft 365SalesforceGitHub等の製品名・サービス名は、各社の商標または登録商標です。

免責事項:本記事の情報は執筆時点のものであり、各製品の最新の機能・料金・仕様については、各社の公式サイトをご確認ください。本記事の内容に基づく判断・行動について、当社は一切の責任を負いかねます。

LOCKED MSO

この課題、LOCKEDで解決できます

「IDaaS導入RFPテンプレート」など、検討に役立つ資料を無料でご用意しています

LOCKEDシリーズの詳細資料を無料でダウンロード

導入事例、機能詳細、他社比較など、検討に必要な情報をまとめた資料をご用意しています

まずは資料で詳細を確認

製品資料で機能・料金・導入事例をまとめてご確認いただけます

資料をダウンロード