【サーバーNo.458】今更聞けない!SANをサクッと解説

サーバー サーバー
この記事は約5分で読めます。
スポンサーリンク

SAMLとは?

SAML(Security Assertion Markup Language)は、異なるドメイン間でのシングルサインオン(SSO)を実現するための標準規格です。ユーザーが一度ログインすれば、別のアプリケーションやサービスに再度ログインする必要がなくなります。

わかりやすい具体的な例

わかりやすい具体的な例1

企業の従業員が社内のポータルサイトにログインすると、その後、社内のクラウドストレージやプロジェクト管理ツールに再ログインせずにアクセスできる仕組みがSAMLによるSSOの例です。

sequenceDiagram participant User participant IDP as Identity Provider participant SP as Service Provider User->>IDP: 認証リクエスト IDP->>User: 認証成功(SAMLレスポンス) User->>SP: SAMLレスポンス送信 SP->>User: ログイン完了

この仕組みにより、従業員は一度の認証で複数のサービスを利用でき、管理側もユーザー情報の一元化が可能になります。

わかりやすい具体的な例2

オンラインショッピングサイトでGoogleアカウントを使用してログインすると、異なるウェブサイトでもGoogleアカウントでログインできるケースもSAMLを活用した認証方式の一例です。

sequenceDiagram participant User participant Google as Identity Provider participant Website as Service Provider User->>Google: Googleログイン要求 Google->>User: 認証成功(SAMLレスポンス) User->>Website: SAMLレスポンス送信 Website->>User: ログイン完了

このように、異なるドメイン間でのログイン情報の共有が可能になり、ユーザーはパスワードを入力せずに複数のサービスにログインできるメリットがあります。

スポンサーリンク

SAMLはどのように考案されたのか

SAMLは、異なる組織やサービス間での安全な認証情報のやり取りを標準化するために考案されました。特に、クラウドサービスの普及に伴い、ID管理の一元化が求められるようになったことが背景にあります。

graph LR A[SAML考案] --> B[企業の認証管理の課題] B --> C[異なるシステム間での統一認証] C --> D[SAMLプロトコルの策定]

考案した人の紹介

SAMLは、OASIS(Organization for the Advancement of Structured Information Standards)という標準化団体によって策定されました。この団体は、XMLベースの認証プロトコルを標準化し、企業間での安全なデータ交換を目的としています。

考案された背景

1990年代後半から2000年代初頭にかけて、インターネットの普及とともにオンラインサービスの利用が拡大しました。しかし、各サービスごとに異なるログイン認証が求められるため、ユーザーにとっては負担となっていました。そこで、複数のサービス間で統一的に認証情報をやり取りできる仕組みとして、SAMLが誕生しました。

スポンサーリンク

SAMLの構造

SAMLは主に3つの要素から構成されます。認証要求(Authentication Request)SAMLレスポンス(SAML Response)アサーション(Assertion)です。

graph TD A[User] -->|ログイン要求| B[Identity Provider] B -->|SAMLレスポンス| C[Service Provider] C -->|アクセス許可| D[User]

SAMLを利用する場面

SAMLは、企業のSSO、クラウドサービスの認証、大学の学術ポータルシステムなど、さまざまな場面で利用されています。

利用するケース1

企業の従業員が、会社が契約しているSaaS(Software as a Service)ツールにアクセスする際、SAML認証が用いられます。

sequenceDiagram participant Employee participant IDP participant SaaS as SaaS Service Employee->>IDP: 認証リクエスト IDP->>Employee: 認証成功(SAMLレスポンス) Employee->>SaaS: SAMLレスポンス送信 SaaS->>Employee: ログイン成功
スポンサーリンク

あわせてこれも押さえよう!

  • OAuth
  • OAuthはSAMLとは異なり、APIアクセスの認可を行うためのプロトコルです。

  • OpenID Connect
  • OpenID Connectは、OAuth2.0をベースにした認証プロトコルです。

  • LDAP
  • LDAPは、ディレクトリサービスを管理するためのプロトコルです。

  • JSON Web Token(JWT)
  • JWTは、JSON形式のトークンを用いた認証方法です。

  • Active Directory
  • Active Directoryは、Windows環境における認証基盤です。

まとめ

SAMLを理解することで、企業の認証管理の効率化や、セキュリティの向上に役立ちます。特にクラウドサービスを利用する際に、SAMLを活用したSSOは大きなメリットをもたらします。

スポンサーリンク