🦔

OAuth、OpenID Connect (OIDC)、SAML、およびSSO(シングルサインオン)の立ち位置と特徴

2024/02/25に公開

OAuth、OpenID Connect (OIDC)、SAML、およびSSO(シングルサインオン)は、ウェブセキュリティとアイデンティティ管理においてよく使用される技術や概念ですが、それぞれ目的や使用方法が異なります。以下にそれぞれの要点を簡潔に説明します。

OAuth 2.0

  • 目的: アプリケーション間でユーザーのリソースへのアクセスを承認するためのオープンスタンダード。
  • 使用法: ユーザーがあるサービス(例えば、ソーシャルメディアサイト)上の自分の情報に対する別のアプリケーション(例えば、サードパーティアプリ)のアクセスを許可する際に使用されます。
  • 主な特徴: アクセストークンを使用してリソースへのアクセスを制御します。ユーザーの資格情報を第三者と共有する必要がありません。

OpenID Connect (OIDC)

  • 目的: OAuth 2.0を拡張したオープンスタンダードで、認証を行うために設計されています。
  • 使用法: ユーザーがあるサイトやアプリケーションにログインする際に、別の信頼できるサービス(例えば、GoogleやFacebook)を通じて身元を証明するのに使用されます。
  • 主な特徴: IDトークン(JWT形式)を使用してユーザーの身元情報を伝達します。OAuth 2.0の認可フレームワークの上に構築されています。

Security Assertion Markup Language (SAML)

  • 目的: エンタープライズレベルでのシングルサインオン(SSO)をサポートするためのXMLベースのオープンスタンダード。
  • 使用法: 企業や組織が異なるドメインやアプリケーション間でユーザー認証情報を安全に交換するのに使用されます。
  • 主な特徴: SAMLアサーションを使用して、認証、属性(ユーザー情報)、および認可データを伝達します。ウェブベースのサービス間でのSSOに特化しています。

シングルサインオン (SSO)

  • 目的: ユーザーが一度のログインで複数の異なるシステムやアプリケーションにアクセスできるようにする認証スキーム。
  • 使用法: 企業や組織内の複数のアプリケーションやサービスに対して、ユーザーが一度の認証でアクセスできるようにするために使用されます。
  • 主な特徴: ユーザー体験の向上とセキュリティ管理の簡素化を提供します。SAMLやOIDCなどの技術を使用して実装されることが多いです。

終わりに

これらの技術や概念は、ユーザー認証とアクセス管理の分野で重要な役割を果たしており、しばしば連携して使用されます。例えば、企業がSSOを実装する際にOIDCやSAMLを利用することがありますし、OAuthはアプリケーション間の認可を管理するのに使用され、OIDCはその上に構築された認証レイヤーを提供します。

Discussion