Table of Contents
SAMLとは?
SAML(Security Assertion Markup Language)は、異なるドメイン間でのシングルサインオン(SSO)を実現するための標準規格です。ユーザーが一度ログインすれば、別のアプリケーションやサービスに再度ログインする必要がなくなります。
わかりやすい具体的な例
わかりやすい具体的な例1
企業の従業員が社内のポータルサイトにログインすると、その後、社内のクラウドストレージやプロジェクト管理ツールに再ログインせずにアクセスできる仕組みがSAMLによるSSOの例です。
この仕組みにより、従業員は一度の認証で複数のサービスを利用でき、管理側もユーザー情報の一元化が可能になります。
わかりやすい具体的な例2
オンラインショッピングサイトでGoogleアカウントを使用してログインすると、異なるウェブサイトでもGoogleアカウントでログインできるケースもSAMLを活用した認証方式の一例です。
このように、異なるドメイン間でのログイン情報の共有が可能になり、ユーザーはパスワードを入力せずに複数のサービスにログインできるメリットがあります。
SAMLはどのように考案されたのか
SAMLは、異なる組織やサービス間での安全な認証情報のやり取りを標準化するために考案されました。特に、クラウドサービスの普及に伴い、ID管理の一元化が求められるようになったことが背景にあります。
考案した人の紹介
SAMLは、OASIS(Organization for the Advancement of Structured Information Standards)という標準化団体によって策定されました。この団体は、XMLベースの認証プロトコルを標準化し、企業間での安全なデータ交換を目的としています。
考案された背景
1990年代後半から2000年代初頭にかけて、インターネットの普及とともにオンラインサービスの利用が拡大しました。しかし、各サービスごとに異なるログイン認証が求められるため、ユーザーにとっては負担となっていました。そこで、複数のサービス間で統一的に認証情報をやり取りできる仕組みとして、SAMLが誕生しました。
SAMLの構造
SAMLは主に3つの要素から構成されます。認証要求(Authentication Request)、SAMLレスポンス(SAML Response)、アサーション(Assertion)です。
SAMLを利用する場面
SAMLは、企業のSSO、クラウドサービスの認証、大学の学術ポータルシステムなど、さまざまな場面で利用されています。
利用するケース1
企業の従業員が、会社が契約しているSaaS(Software as a Service)ツールにアクセスする際、SAML認証が用いられます。
あわせてこれも押さえよう!
- OAuth
- OpenID Connect
- LDAP
- JSON Web Token(JWT)
- Active Directory
OAuthはSAMLとは異なり、APIアクセスの認可を行うためのプロトコルです。
OpenID Connectは、OAuth2.0をベースにした認証プロトコルです。
LDAPは、ディレクトリサービスを管理するためのプロトコルです。
JWTは、JSON形式のトークンを用いた認証方法です。
Active Directoryは、Windows環境における認証基盤です。
まとめ
SAMLを理解することで、企業の認証管理の効率化や、セキュリティの向上に役立ちます。特にクラウドサービスを利用する際に、SAMLを活用したSSOは大きなメリットをもたらします。