M365Con 2027 – 無料オンラインカンファレンス · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

SAML と OpenID Connect の比較: Microsoft Entra ID に適したプロトコルの選び方

By ·

Microsoft Entra ID における SAML と OpenID Connect(OIDC)プロトコルを比較します。主な技術的な違い、ユースケース、それぞれを選ぶべき場合について解説します。

Automatically translated with AI from the original post. Read the English original

Cover: Single Sign-On (SSO) - Simply Explained

SAML と OpenID Connect(OIDC)は、Microsoft Entra ID におけるエンタープライズのシングルサインオンを支える、2 つの主要な認証プロトコルです。適切なプロトコルの選択は、アプリケーションの経過年数、アーキテクチャの要件、開発のワークフローによって決まります。レガシーなエンタープライズソフトウェアとの互換性と、最新のクラウドネイティブ開発の標準とのバランスを取ることが重要です。

重要なポイント

エンタープライズにおける SAML の理解

Security Assertion Markup Language、通称 SAML は、10 年以上にわたり企業のログインシステムの定番として使われてきました。大企業では、従業員がパスワードを何度も入力することなく、数十の社内外のシステムにアクセスできるようにする必要がありました。SAML はそのために、複雑なディレクトリ統合を処理できる堅牢な仕組みを提供しました。

SAML は、認証メッセージとユーザーのアサーションを、XML と呼ばれる冗長で厳密に構造化された形式で包みます。XML は記述が冗長なため開発者に敬遠されがちですが、ユーザーに関する詳細な情報を大量に運ぶことには優れています。典型的な SAML レスポンスでは、トークンに従業員の正確な部署、役職、組織の階層、セキュリティグループのメンバーシップ、特定のクリアランスレベルを含めることができます。企業の IT 部門は、ログインの段階でユーザー権限を細かく制御することを求めたため、大手のエンタープライズソフトウェアベンダーはこの機能を中心にプラットフォームを構築しました。

Microsoft Entra ID の管理者にとって、SAML はモバイルファーストのクラウド時代より前に作られた、古いオンプレミスアプリケーション、専用の ERP システム、エンタープライズ SaaS プラットフォームを統合する際によく登場します。古いシステムが SAML にしか対応していない場合や、厳格なコンプライアンスの枠組みや調達契約でその利用が定められている場合は、管理者は互換性を維持するために SAML のエンタープライズアプリケーションギャラリーの接続を構成します。

最新アプリに広がる OpenID Connect

ソフトウェアがモノリシックなデスクトップ型のインストールから、クラウドホスト型の Web アプリ、シングルページアプリケーション(SPA)、モバイルアプリへと移行するにつれ、SAML の重い XML 構造は迅速な開発には扱いにくくなりました。こうして登場したのが、一般に OIDC と略される OpenID Connect です。

OIDC は OAuth 2.0 の上に直接構築されており、認証(誰であるかの証明)と認可(何にアクセスできるかの決定)を分離しています。OIDC は、重い XML ファイルの代わりに、クレームと ID 情報を小さな JSON Web Token(JWT)にまとめます。この軽量な設計により、OIDC は最新の開発者が Web やモバイルのフレームワークに組み込むことを非常に容易にしています。

Microsoft Entra ID を使用して最新の SaaS ツールやカスタム構築のクラウドアプリケーションにサインインする場合、OIDC が裏側でトークン交換を管理します。開発者が OIDC を好むのは、最新の Web アーキテクチャに自然に適合し、ネットワークリソースの消費が少なく、ブラウザー環境でも迅速に解析できるためです。新規のクラウドアプリケーション開発に関する Microsoft の既定のガイダンスでも、俊敏性と最新の開発スタックとのシームレスな統合を理由に、OIDC が明示的に推奨されています。

SAML と OIDC のアーキテクチャの比較

SAML と OpenID Connect を評価するには、略称にとどまらず、データの送信方法、アプリケーションの互換性、管理上の負荷にどう対処するかを確認する必要があります。イメージとしては、SAML は書留郵便で届く、厳格な押印付きの正式な法的文書に近く、OIDC は携帯端末に即座に届く、暗号化された手軽なテキストメッセージに近いと考えるとわかりやすいでしょう。

以下の表は、主なアーキテクチャの違いをまとめたものです。

これらの違いはあるものの、どちらかのプロトコルが本質的に優れているわけではありません。それぞれ、ソフトウェア開発の異なる時代に向けて設計されたソリューションです。多くの組織では、レガシーツールが SAML に依存する一方、新たに導入したクラウドアプリケーションが OIDC を活用するハイブリッド環境を維持しており、両プロトコルが Microsoft Entra ID 内で競合することなく並行して動作しています。

セキュリティへの影響とトークン管理

組織が SAML と OIDC のどちらを標準とするかにかかわらず、セキュリティの基本的な姿勢は、トークンの検証とライフサイクル管理に全面的に依存します。最新のシングルサインオン アーキテクチャにおいて、攻撃者が狙う最も価値のある資産はもはや静的なパスワードではなく、有効なセッショントークンです。

トークンは資格情報を再入力させることなく認証の扉を越えて直接アクセスを許可するため、巧妙な攻撃者はフィッシングキットや AiTM(Adversary-in-the-Middle)攻撃を利用して、有効なトークンを傍受します。このリスクを軽減するため、管理者は Microsoft Entra ID 内で堅牢な多要素認証(MFA)ポリシーを適用し、Conditional Access を活用してデバイスのコンプライアンスを評価し、トークンの有効期間を適切に設定する必要があります。

アクセス トークンと ID トークンは意図的に短命に設計されており、既定では約 1 時間に設定されることが多いため、アプリはユーザーセッションを安全に維持するために更新トークンや再認証チェックに頼る必要があります。SAML の XML アサーションを解析する場合でも、OIDC の JSON クレームを検証する場合でも、アプリケーションは偽造を防ぐため、信頼された ID プロバイダーの証明書に対して暗号署名を厳密に検証しなければなりません。

結論

SAML と OpenID Connect の細かな違いを理解することは、Microsoft Entra ID で ID を管理するクラウドアーキテクトや IT 管理者にとって不可欠です。プロトコルをめぐる議論は白熱しがちですが、技術的な違いを理解することで、チームはアプリケーションの互換性とセキュリティ要件に基づいて、現実的なアーキテクチャの判断を下せるようになります。ID プロバイダー、トークンのライフサイクル、最新のクラウドセキュリティの仕組みについてさらに詳しく知りたい場合は、ぜひエピソード全編を聴いて、Microsoft 365 エコシステムに関する専門的な知見を得るためにポッドキャストを購読してください。

よくある質問

SAML と OpenID Connect の主な技術的な違いは何ですか?

SAML は XML を使用して認証データとクレームをまとめるため、重くて複雑です。一方、OpenID Connect は OAuth 2.0 の上で JSON Web Token(JWT)を使用するため、より軽量で高速な開発者体験を提供します。

Microsoft Entra ID は SAML と OIDC を同時に扱えますか?

はい、Microsoft Entra ID は両方のプロトコルを完全にサポートしています。多くの組織では、同じテナント内でレガシーなエンタープライズアプリケーション向けに SAML を、最新のクラウドネイティブなソフトウェア向けに OIDC を日常的に並行して運用しています。

組織はどのような場合に SAML ではなく OpenID Connect を選ぶべきですか?

最新のWebアプリケーション、シングルページアプリケーション(SPA)、モバイルアプリを構築または統合する場合は、迅速で軽量なトークン交換と、開発者による簡素化された実装が求められるため、OpenID Connectの採用を検討してください。

Microsoft Entra IDでは、SAMLをOIDCより選択するとセキュリティが損なわれますか?

いいえ、どちらのプロトコルも適切に構成されていれば安全です。ただし、そのセキュリティは、堅牢な多要素認証(MFA)と、トークンの盗難やセッションハイジャックからの保護に大きく依存します。

Microsoft Entra ID

Related articles

RSS