SAMLは、世界中のユーザーを対象に、アイデンティティプロバイダーとサービスプロバイダー間の認証情報の通信と検証を可能にするオープン標準です。
2005年、オープン標準のコンソーシアムであるOASISは、広く支持されたSAML 2.0をリリースしました。スマートモバイルデバイスが急速に普及すると、Webアプリケーションの数も増加し、終わりのないログインへの対処が必要になりました。SAMLはこの課題への対応に不可欠であり、シングルサインオン(SSO)を、個人から大企業まで利用できる信頼性の高いツールとして導入しました。SAMLのもう1つの代表的な用途は、Webサービスに必ずしも接続されていないインフラ間のフェデレーションネットワークです。
この記事では、SAMLプロトコルの仕組み、関係者、そしてSAMLがアイデンティティーおよびアクセス管理(IAM)の進化の中でどのような位置を占めるのかを解説します。
目次
SAMLとは?
Security Assertion Markup Language(SAML)は、Extensible Markup Language(XML)を使用して、Webサービスプロバイダーとアイデンティティプロバイダー間のトランザクションを管理します。ユーザー名とパスワードによるログイン処理のバックエンドで行われるこれらの通信により、ユーザーは上位のアイデンティティーマネージャーによって認証され、指定されたWebサービスを利用する権限を付与されます。
コンテキスト:認証と認可の違い
デジタルアクセスを考えるうえで基本となるのが、認証と認可の違いです。認証はユーザーの身元を確認し、認可は特定の権限を付与します。対象はWebアプリケーション、ユーザー、デバイスなどです。
詳しく読む:優れた特権アクセス管理(PAM)ソフトウェア
サービスプロバイダーとアイデンティティーマネージャー
サービスプロバイダーとアイデンティティーマネージャーは、フェデレーションプロセスで重要な役割を果たし、ユーザーが特定のデータにアクセスできるようにします。
サービスプロバイダー
消費者向けからエンタープライズITまでのニーズや要望に応えるアプリケーションが指数関数的に増加したことで、サービスプロバイダーの世界が形成されています。サービスプロバイダーとは、正当なリクエストを通じてユーザーに提供される組織やWebサービスです。アプリケーションとソフトウェア開発者は、ユーザーアカウントの認証情報を保存・受け入れるために必要なバックエンドのデータベースとプロトコルを構築する責任を負います。
代表的なサービスプロバイダーには、SAP、Microsoft、Oracle、Adobe、Google、Salesforceなど、大手の業務アプリケーションベンダーがあります。
アイデンティティーマネージャー
アイデンティティーマネージャーは、複数の認証情報を統合して特定ユーザーのフェデレーションIDとし、各種プラットフォーム上のアプリケーションにアクセスできる仕組みを組織に提供します。ディレクトリサービスと同様に、組織の管理者はネットワークユーザーのID管理によって、特定のデータへのアクセスを制御できます。
代表的なエンタープライズ向けアイデンティティプロバイダーシステムには、MicrosoftとAzureのActive Directory(AD)、Lightweight Directory Protocol(LDAP)、Google Suiteなどがあります。そのほかのベンダーにはOracle、Okta、OneLogin、Auth0などがあります。
こちらも読む:優れたゼロトラストセキュリティソリューション
SAMLの仕組み
- ユーザーがアイデンティティプロバイダーのSSOにログインします。
- ユーザーが、権限が必要なWebページへのリクエストを送信します。
- サービスプロバイダーが、アイデンティティプロバイダーにユーザーの認証情報を確認します。
- アイデンティティプロバイダーが、ユーザーを検証して応答します。
- ユーザーが要求したWebページにアクセスします。
SAMLが重要な理由
Webサービスプロバイダーが長らくアイデンティティーマネージャーの役割を担ってきた一方で、アイデンティティプロバイダーの登場により、ユーザーは認証情報を保存し、アカウント一覧にアクセスできる便利な環境を得ました。SAMLは、この役割分担におけるフェデレーション認証・認可のプロセスであり、関係者間の通信を簡素化します。

詳しく読む:マシンIDがエンタープライズセキュリティを危険にさらす可能性
OAuthとSAMLの比較
OAuthも、Webサービスプロバイダーがユーザーやアプリケーションに代わって通信するために使用する言語の一例ですが、認可と認証という異なる側面を担います。
SAMLは、SSOなどのシステムを含むID管理とフェデレーションを扱う標準です。OAuthは純粋な認可プロトコルであり、認証を処理するOpenID Connect(OIDC)と組み合わせて使用します。
SAMLは、2つのプロトコルのうち、より信頼性が高く成熟したプロトコルかもしれません。一方、OIDCはモバイルアプリケーションやWebアプリケーション向けに設計された新しい認証プロトコルです。両者のもう1つの注目すべき違いは、OAuthがJSON Web Token(JWT)を使用する点です。SAMLがXMLを使用するのに対し、JWTはより軽量で自己完結型であり、認可サーバーを介さずに独立した検証を可能にするデジタル署名を含みます。
SAML 2.0は現在も広く使われていますが、OIDCと組み合わせたOAuth 2.0の普及により、導入数は大幅に減少しています。
OAuth 2.0について詳しく知るには、OAuth:業界向け認可ガイド。
IAMの歴史:SAMLの位置付け
2001年、Organization for the Advanced for Structured Information Standards(OASIS)は、認証・認可データを交換する業界初のXMLフレームワークとなる仕様の策定に着手しました。翌年、SAML 1.0が正式なOASIS標準となりました。2005年、OASISはSAML 2.0をリリースし、2000年代の終わりまでにWeb開発者やサービスプロバイダーから広く支持されるようになりました。
SAML 2.0が先行する一方、OIDCの最初の2つのバージョンであるOpenIDは、代替認証プロトコルとして2006年と2007年にリリースされました。2010年のOAuth 1.0、そして2年後のOAuth 2.0の登場により、サードパーティーは、安全なユーザーエージェントによる委任アクセスを認可するための明確なプロトコルを得ました。認証のために別個のプロトコルを扱うのではなく、2014年にリリースされたOpenID Connectによって、開発者はアカウント間の初回アクセスを実現する追加レイヤーを利用できるようになりました。
認証と認可においてOAuthとOIDCが近年広く使われるようになったにもかかわらず、SAML 2.0はエンタープライズ組織向けに現在も広く提供・利用されているプロトコルです。
こちらも読む:次世代ファイアウォール(NGFW)の優れたベンダー





