企業向けのシングルサインオン環境で使われる「SAML 2.0」と「OIDC」。それぞれの特徴や歴史的背景を踏まえ、現代のシステム構築における適切な選定基準を解説します。
BtoB 認証プロトコルの二大巨頭
企業内の業務システムやクラウドサービス(SaaS)を繋ぐシングルサインオン(SSO)を構築する際、必ず直面するのが**「SAML 2.0」と「OpenID Connect (OIDC)」**のどちらを採用すべきかという問題です。
どちらも安全にユーザー認証を行うためのプロトコルですが、設計思想やベースとなる技術が異なるため、システムの特性に合わせて適切に選択する必要があります。
SAML 2.0:エンタープライズの堅牢な標準
SAML (Security Assertion Markup Language) は、2000年代前半に登場し、現在でも大企業のエンタープライズシステムで最も広く使われている規格です。
- データ形式: XMLベースの重厚なデータフォーマット(SAMLアサーション)を使用します。
- 特徴: 企業間で複雑な信頼関係(トラスト)を構築するための機能が豊富で、高度なセキュリティ要件に対応できます。
- 適したユースケース: 歴史のある業務パッケージソフトや、金融機関などの厳格なネットワーク要件があるオンプレミス環境の連携。
OIDC (OpenID Connect):モダンWebとモバイルの標準
OIDC は、OAuth 2.0をベースに2014年に策定された比較的新しい規格です。現在、新規に開発されるSaaSの多くはOIDCを第一の選択肢としています。
- データ形式: JSONベースの軽量なフォーマット(JWT:JSON Web Token)を使用し、RESTful APIと非常に相性が良いです。
- 特徴: 開発者にとって扱いやすく、スマートフォンアプリやシングルページアプリケーション(SPA)などのモダンなアーキテクチャに最適化されています。
- 適したユースケース: クラウドネイティブなSaaS、モバイルアプリ、API連携を前提としたマイクロサービスアーキテクチャ。
現代のシステム構築における選定基準
これから新たにシステムを構築する場合、あるいはレガシーシステムを刷新する場合、原則としてOIDCを優先的に検討することを強くお勧めします。
- 開発コストの低減: XMLの解析やXML署名の検証が必要なSAMLに比べ、JSONとJWTを扱うOIDCは既存のライブラリが豊富で、実装の手間とバグのリスクを大幅に減らせます。
- モバイルアプリへの親和性: SAMLはブラウザの画面遷移(リダイレクトやPOST)を前提に設計されているため、ネイティブのスマホアプリ(iOS/Android)への組み込みが困難です。一方、OIDCはAPIベースでの連携が容易です。
- APIエコシステムとの統合: OIDCは認可プロトコルであるOAuth 2.0と統合されているため、ログイン処理とAPIへのアクセス権限(アクセストークン)の取得を一度のフローで行うことができます。
ただし、連携先のサービスが古いシステムでありSAMLしかサポートしていない場合は、要件に応じてIdP(Identity Provider)側でSAMLとOIDCの両方をサポートするブリッジ構成をとることが一般的です。
スポンサーリンク
編
この記事を書いた人:19kl42 編集部
デジタルアイデンティティ、eKYC、プライバシー保護などの複雑な仕組みを「共通言語」へと翻訳して発信しています。誰もが「デジタルな自分」を正しく扱い、信頼をデザインできる社会を目指しています。
