SAML Web シングル・サインオン

Security Assertion Markup Language (SAML) は、ユーザー ID、認証、および属性などの情報の表現と交換を行うための OASIS オープン・スタンダードです。 SAML は、ベンダー間共通のシングル・サインオン (SSO) インターオペラビリティーを提供する最適なテクノロジーとして急速に採用されつつあります。

SAML アサーションは、ユーザー ID および属性情報を、シングル・サインオン要求の完了の一環として、ユーザーの ID プロバイダーからトラステッド・サービス・プロバイダーに転送するために使用される、XML 形式のトークンです。 SAML アサーションは、フェデレーション・ビジネス・パートナー間の情報転送手段としてベンダーに中立なものを提供します。

WebSphere® Application Server は、Security Assertion Markup Language (SAML) Web シングル・サインオンをサポートし、SAML サービス・プロバイダーとして機能します。 Web ユーザーが SAML アサーションを生成する SAML ID プロバイダーに対して認証を行い、 WebSphere SAML サービス・プロバイダーがその SAML アサーションを使用して Web ユーザーのセキュリティー・コンテキストを確立します。

SAML は、プロトコルとして、3 つのバージョン (SAML 1.0、SAML 1.1、および SAML 2.0) を持っています。 SAML 2.0 は前の SAML 1.x 仕様の拡張版ですが、後方互換はありません。

SAML 2.0 はいくつかの要求/応答プロトコルを定義し、これらはすべてメッセージで伝達されるアクションに対応します。 これらのプロトコルは HTTP リダイレクト・ベースで、ユーザーのブラウザーを必要とします。 SAML 2.0 は、いくつかのバインディング・オプション、HTTP リダイレクト、HTTP POST、HTTP 成果物、および SOAP を定義しています。 これらのオプションは、使用可能なメッセージ転送の方法を指定します。 SAML 2.0 HTTP POST は、 SAML プロトコル・メッセージを、base64 エンコード・コンテンツを使用した HTML フォームで送信できるようにします。 SAML 2.0 HTTP POST は、SAML プロバイダーとコンシューマーが HTTP ユーザー・エージェントを仲介として通信できるようにします。 HTTP POST はブラウザー POST と呼ばれることがあります。シングル・サインオン操作で使用される場合、特にそう呼ばれます。 Web シングル・サインオンをサポートするために SAML 2.0 Web ブラウザー SSO プロファイルが定義されます。 Web ユーザーは、サービス・プロバイダーのリソースにアクセスするか、またはサービス・プロバイダーと目的のリソースを認識している、あるいは暗黙である ID プロバイダーにアクセスします。 Web ユーザーが ID プロバイダーに対して認証を行うと (そのとき認証アサーションが生成されます)、サービス・プロバイダーがそのアサーションを取り込んで Web ユーザーのセキュリティー・コンテキストを確立します。

次の図は、SAML SSO の概要を示しています。
SAML SSO の概要

詳しくは、仕様および標準を参照してください。