日本語
  • sso
  • authentication
  • OIDC
  • SAML

SSO 方法の選択:SAML 対 OpenID Connect

シングルサインオン (SSO) は、ユーザー認証と認可を簡素化するための素晴らしい方法です。しかし、どの SSO 方法を選ぶべきでしょうか?この投稿では、2 つの人気のある SSO 方法:SAML と OpenID Connect の概要を紹介します。

Simeng
Simeng
Developer

はじめに

今日のクラウド主導の世界では、シングルサインオン (SSO) はユーザー認証と認可を簡素化するための素晴らしい方法です。ユーザーが異なるアプリケーションのために複数のユーザー名とパスワードを覚える代わりに、SSO を使用すると、ユーザーは一度ログインして複数のアプリケーションにシームレスにアクセスできます。

Microsoft Entra などの大手アイデンティティ・プロバイダー (IdP) のほとんどが、SSO のための 2 つの主要な候補を提供しています。それは、セキュリティアサーションマークアップ言語 (SAML) と OpenID Connect (OIDC) です。どちらも安全で確立されたプロトコルですが、組織に最適なものを選ぶには、さまざまな要因を考慮する必要があります。彼らの強みと弱点を詳しく探り、あなたの組織に最適な SSO チャンピオンを選びましょう。

OpenID Connect (OIDC):現代のアプリケーション向けの軽量な選択

OIDC は、OAuth 2.0 の上に構築されたシンプルで軽量なプロトコルです。ユーザーフレンドリーなセットアッププロセスを提供し、現代のアプリケーションに人気のある選択肢となっています。

長所

  • シンプルさ: OIDC は SAML に比べてよりシンプルなセットアッププロセスを提供します。これにより、実装が速く、継続的なメンテナンスも容易になります。OAuth 2.0 の上に設計されており、すでに認可の目的で広く使用されています。
  • 現代的なデザイン: 現代のウェブ環境向けに構築されており、現代のアプリケーションやフレームワークとうまく統合します。OIDC は RESTful で JSON ベースなので、現代の開発環境で作業しやすく、スムーズなユーザーエクスペリエンスを提供します。
  • スケーラビリティ: OIDC はスケーラブルに設計されており、複雑な要件を持つ大規模な組織に適した選択肢です。
  • 効率性: OIDC はデータ交換のために JSON Web トークン (JWT) を使用します。これらのコンパクトなトークンは、SAML が使用するより大きな XML メッセージと比較して軽量で効率的です。これにより、認証時間が速くなります。

短所

  • 属性制御の制限: デフォルトで OIDC は基本的なユーザー属性情報のみを提供し、SAML ほど詳細な制御を提供しない場合があります。厳格なアクセス制御要件を持つ組織にとっては懸念となる可能性があります。より高度な属性制御のためには、追加の認可メカニズムでプロトコルを拡張する必要があるかもしれません。例: ロールベースのアクセス制御 (RBAC) や属性ベースのアクセス制御 (ABAC)。
  • レガシーアプリケーションのサポートの制限: OIDC は新しいプロトコルであるため、確立された SAML 標準と比較して、古い企業アプリケーションによってそれほど広く採用されていない可能性があります。

セキュリティアサーションマークアップ言語 (SAML):詳細な制御を持つ企業標準

SAML は企業の世界で多くの年にわたり SSO の定番プロトコルであり、その広範な採用と強力な機能セットは、複雑な要件を持つ組織にとって堅実な選択肢です。

長所

  • 広範な採用: SAML は長い間存在しており、多くの企業アプリケーションに広く採用されています。これにより、既存の IT インフラストラクチャと高い互換性を確保します。
  • 詳細な属性制御: SAML は、IdP とサービスプロバイダー (SP) の間で交換できる豊富な属性セットを提供します。これにより、きめ細かいアクセス制御とユーザー属性のカスタマイズが可能になります。

短所

  • 複雑さ: SAML のセットアップと構成は、OIDC と比べてより関与するプロセスになる可能性があります。SAML が使用する XML ベースのメッセージは、OIDC の JSON ベースのメッセージよりも大きく、冗長です。これには、プロトコルのより深い理解と、潜在的に多くのエンジニアリングリソースが必要です。

  • メッセージの大きさ: SAML メッセージは XML ベースであり、OIDC の使用する JSON ベースのメッセージと比べて大きく効率が低いです。特に大きなペイロードの場合、認証時間が遅くなる可能性があります。

あなた自身の SSO チャンピオンを選びましょう

SAML と OIDC のどちらかを選ぶ際には、以下の要素を考慮してみてください:

要素SAMLOIDC
セットアップの複雑さ高い低い
互換性 (現代)低い高い
互換性 (レガシー)高い低い
ユーザーエクスペリエンス複雑シンプル
属性制御詳細制限付き
データ交換の効率低い高い

二者択一を超えて:SAML と OIDC を組み合わせたハイブリッドアプローチ

場合によっては、SAML と OIDC の間で選ぶ必要がないかもしれません。一部の IdP は、両方のプロトコルをサポートする柔軟性を提供し、必要に応じてそれぞれの強みを活かすことができます。例えば、あなたの組織に現代のアプリケーションとレガシーアプリケーションが混在している場合でも、同じ IdP を共有していれば、包括的な SSO ソリューションのために、OIDC と SAML の両方を活用できます。例としては、Web およびモバイルアプリには OIDC を利用しながら、レガシー企業システムには SAML を予約することです。

結論: 適切なツールを選ぶ

あなたの組織に最適な SSO プロトコルは、あなたのアプリケーションの状況、セキュリティ要件、ユーザーエクスペリエンスの目標に依存します。OIDC と SAML の強みと弱点を理解することで、あなたの組織に最適な選択をするための準備が整います。

Logto では、包括的な SSO ソリューションの一環として、SAML と OIDC の両方をサポートしています。現代の Web アプリケーションやレガシー企業システムと接続する際、私たちがサポートします。 無料アカウントにサインアップ して、認証と認可のワークフローを今日から簡素化しましょう。