SAML のシングル・サインオン・シナリオ、フィーチャー、および制約

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

WebSphere Application Server SAML サービス・プロバイダー (SP) は、SAML 2.0 ID プロバイダー (IdP) 開始のシングル・サインオン (SSO) をサポートします。 WebSphere IdP 開始 SSO サービスはトラスト・アソシエーション・インターセプターとして実装され、次のように説明することができます。
  1. ユーザーは、IdP、SP その他に常駐可能なフロントエンド Web アプリケーションにアクセスします。
  2. フロントエンド Web アプリケーションはユーザーを IdP にリダイレクトし、ユーザーは IdP に対して認証を行います。
  3. IdP は、SAML 応答を隠しフォームで HTTP POST を通じて送ることによって、ユーザーをアサーション・コンシューマー・サービス (ACS) にリダイレクトします。
  4. SP が SAML 応答を処理し、WebSphere セキュリティー・コンテキストを作成します。
  5. SP が LTPA Cookie を HTTP 応答に追加し、要求を Web リソースまたはビジネス・アプリケーションにリダイレクトします。
  6. WebSphere Application Server は要求をインターセプトし、LTPA Cookie をセキュリティー・コンテキストにマップし、要求された Web リソースへのユーザー・アクセスを許可します。
  7. WebSphere Application Server は HTTP 応答をユーザーに返します。

次の図は SAML SSO のフローを示しています。

SAML SSO のフロー

SAML SSO の機能には以下のようなものがあります。
  • WebSphere SAML サービス・プロバイダーは、複数の ID プロバイダーを使用したシングル・サインオンをサポートします。
  • WebSphere SAML サービス・プロバイダーは、ID アサーション用のオプション、およびアサーション ID をこのサービス・プロバイダーのユーザー・レジストリーにマップするためのオプションをサポートします。
  • WebSphere SAML サービス・プロバイダーは、SAML トークン属性をレルム、プリンシパル、固有 ID、およびグループにマップまたは表明し、それらをサービス・プロバイダー・セキュリティー・コンテキスト内に設定することができます。
  • WebSphere SAML サービス・プロバイダーは、カスタマイズされた ID マッピングを可能にするプラグ・ポイントを提供します。
  • WebSphere SAML サービス・プロバイダーには、このサービス・プロバイダーのレジストリーから ID のグループ・メンバーシップを取得して、セキュリティー・コンテキストにデータを取り込むオプションがあります。
  • WebSphere SAML サービス・プロバイダーは、要求が IdP から送られてきたものではなかった場合に要求を適切な IdP に返す IdP 選択フィルターを提供します。
  • WebSphere SAML サービス・プロバイダーは、RSA-SHA1 署名アルゴリズムと RSA-SHA256 署名アルゴリズムの両方をサポートします。
  • WebSphere SAML サービス・プロバイダーは、SAML トークンを、アプリケーションによるアクセスに備えてこのサービス・プロバイダーのサブジェクトに保存し、認証されたダウンストリームの Enterprise JavaBean (EJB) または Web Service 呼び出しで使用できるようにします。
  • WebSphere SAML サービス・プロバイダーはビジネス・アプリケーション URL が AssertionConsumerService URL の役割を果たすようにできるので、IdP は SAMLResponse をビジネス・アプリケーション URL に直接送ることができます。
  • WebSphere SAML トラスト・アソシエーション・インターセプター (TAI) が、鍵 SAML アサーション (Issuer および NameID を含む) の監査を可能にします。
SAML SSO フィーチャーには以下の機能ハイライトおよびベスト・プラクティスがあてはまります。
  • WebSphere SAML サービス・プロバイダーのアサーション・コンシューマー・サービス (ACS):
    ACS は、SAML プロトコル・メッセージを受け入れ、セキュリティー・コンテキストを確立する、セキュアなサーブレットです。 ACS URL は事前定義された ContextRoot を samlsps として持ち、URL フォーマットは次のとおりです。
    https://<host name>:<port>/samlsps/<any uri pattern>
    ACS が受け取った SAMLResponse は TAI によってインターセプトされ、検証が成功すると、要求がターゲット・アプリケーション・サービスにリダイレクトされます。

    POST メソッドを実装するビジネス・サービスはいずれも ACS として使用することができます。 ターゲット・ビジネス・サーブレットを ACS として使用するとブラウザーとサービス・プロバイダー・サーバー間の 1 往復分が減少するので、そうすることをお勧めします。

  • 複数セキュリティー・ドメイン・サポート:
    ACS はアプリケーション・セキュリティー・ドメインにデプロイされます。また、ACS は、ビジネス・アプリケーションと同じセキュリティー・ドメインに常駐するものと予想されます。 ACS とターゲット・ビジネス・アプリケーション (RelayState) が別々のセキュリティー・ドメインにある場合は、次のようないくつかの推奨オプションがあります。
    • SAMLResponse を ACS のセキュリティー・ドメイン内で処理する。
    • ビジネス・アプリケーションと同じドメインを持つように ACS を再構成する。
    • ターゲット・ビジネス・サービスを ACS として使用する。
  • 複数のシングル・サインオン・パートナー:

    WebSphere SAML TAI は複数の ACS および IdP シングル・サインオン (SingleSignOnService) パートナーをサポートします。 1 つの SSO パートナーが 1 つの ACS URL として定義され、複数の SingleSignOnService オブジェクトを持つことができます。複数の SSO パートナーが存在する場合、各 SSO パートナーシップは ACS URL によって一意的に識別されます。

    各 SSO パートナーは、独自の検証ルール、アサーションからサブジェクトへのマッピング・ルール、または独自の IdP を使用して SSO を開始するルールを持つことができます。 例えば、1 つの SSO パートナーは、ユーザー・レジストリーを呼び出さずに WebSphere プラットフォーム・サブジェクトを生成する ID アサーションを処理することができます。 もう 1 つの SSO パートナーはローカルのユーザー・レジストリー検索を実行することができます。 もう 1 つの例は、1 つの SSO パートナーが 1 つの IdP を使用して SSO を処理し、もう 1 つの SSO パートナーが別の IdP を使用して SSO を処理するというものです。

  • ブックマーク・スタイル SSO および TAI フィルター:

    これまで SP 開始 SSO に適合していたブックマーク・スタイル SSO を検討してください。 ユーザーは、IdP への認証を最初に行わずにビジネス・アプリケーションにアクセスします。 SSO を開始するように WebSphere SAML TAI を構成することができます。 各 SSO パートナー構成には IdP ログイン・アプリケーションとルーティング・フィルターが含まれています。 各フィルターは、HTTP 要求が SSO パートナーのために選択されるかどうかを調べるために HTTP 要求と突き合わされる条件を表す選択ルールのリストを定義します。 フィルター・ルールは、HTTP 要求ヘッダー、参照者データ、およびターゲット・アプリケーション名を組み合わせたものです。 WebSphere SAML TAI ランタイム環境は、ユーザー要求をすべてのフィルター・ルールと照合して SSO パートナーを一意的に識別し、その要求を選択された IdP ログイン・アプリケーションにリダイレクトします。 TAI フィルターにより、IdP 開始 SSO は、SP 開始 SSO と IdP ディスカバリー・サービスの組み合わせに類似した機能を提供します。

  • ID マッピングとセキュリティー・コンテキスト管理:
    WebSphere SAML TAI は豊富で柔軟性のある ID マッピングを提供し、次のように分類することができます。
    • ID アサーション: ローカル・レジストリーなしで SAML アサーションを WebSphere プラットフォーム・サブジェクトにマップします。 典型的な ID アサーション・シナリオは次のとおりです。
      • デフォルト: NameID をプリンシパルとして、発行者をレルムとして、選択した属性をグループ・メンバーとして使用します。
      • カスタマイズ: SAML 属性をプリンシパル、レルム、アクセス ID、およびグループ・メンバーとして構成します。
    • サービス・プロバイダーのユーザー・レジストリーに対して IdP から NameID をマップし、そのレジストリーからサブジェクトを作成します。 次のシナリオがサポートされています。
      • SAML NameId をローカル・レジストリーに直接マップします。
      • カスタム・マッピング用のプラグイン・ポイントを提供してから、新しいユーザーを使用してサブジェクトを作成します。
      • NameID をユーザー・レジストリーにマップし、ID アサーションにフォールバックします。
    • ID アサーションとローカル・レジストリーの組み合わせ:

      TAI は、ID アサーションの他に、表明されたグループの親グループをサービス・プロバイダーのユーザー・レジストリーで検索し、それらの親グループをサブジェクトに組み込みます。 例えば、親グループに許可が付与されても、ID プロバイダーは親グループ名を知りません。

WebSphere Application Server は IdP 開始の SAML Web SSO のみをサポートします。

以下の仕様またはシナリオは有効範囲外です。
  • 拡張クライアントまたはプロキシー (ECP) プロファイル
  • ID プロバイダー・ディスカバリー・プロファイル
  • シングル・ログアウト・プロファイル
  • 名前 ID 管理プロファイル
  • 成果物解決プロファイル
  • アサーション照会/要求プロファイル
  • 名前 ID マッピング・プロファイル
  • SAML 属性プロファイル

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_samlssosummary
ファイル名:cwbs_samlssosummary.html