SAML (Security Markup Assertion Language) トークンを使用した Web サービス・クライアントの認証

Web Services Security SAML Token Profile 1.1 は、Security Assertion Markup Language (SAML) V1.1 および V2.0 アサーションの使用方法を Web Services Security (WSS): SOAP Message Security V1.1 仕様で定義します。Liberty は、bearer 確認メソッドを使用した SAML v2.0 アサーション用に Web Services Security SAML Token Profile 1.1 をサポートします。

このタスクについて

Liberty は、bearer 確認メソッド (<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">) を使用した SAML v2.0 をサポートします。Web サービス・クライアントは要求元を識別するための手段として SAML トークンを Web サービス・プロバイダーに伝搬し、 Web サービス・プロバイダーはこの SAML トークン情報を使用して要求元を認証することができます。

SAML トークンが必要だということは、WS-Security ポリシーでサポート・トークンの 1 つとして表されます。サポート・トークン・アサーション (SupportingTokensSignedSupportingTokensSignedEncryptedSupportingTokens、および EncryptedSupportingTokens) の 1 つで、必要なトークンとして SamlToken 要求を追加できます。

手順

  1. SAML トークンを伝搬するように Web サービス・クライアントを構成します。

    Saml20Token (com.ibm.websphere.security.saml2.Saml20Token)RunAs サブジェクト内に存在することが必要です。SamlToken ポリシー・アサーションが構成されている場合、 Liberty WS-Security ランタイムは自動的に RunAs サブジェクトから Saml20Token を抽出し、<wsse:Security> SOAP ヘッダーに SAML アサーションを付加します。以下のステップが必要です。

    1. server.xml ファイル内で featureManagerwsSecuritySaml-1.1 を追加します。
      <featureManager>
              <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. アプリケーションは、.wsdl ファイル内でポリシーにサポート・トークン (SupportingTokensSignedSupportingTokensSignedEncryptedSupportingTokens、および EncryptedSupportingTokens トークン・アサーションが含まれます) として SAML トークンを指定する必要があります。
      <wsp:Policy wsu:Id="CallerHttpPolicy">
      	<sp:SupportingTokens>
      		<wsp:Policy>
      			<sp:SamlToken
      				sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
      				<wsp:Policy>
      					<sp:WssSamlV20Token11 />
      				</wsp:Policy>
      			</sp:SamlToken>
      		</wsp:Policy>
      	</sp:SupportingTokens>
      
      </wsp:Policy>
  2. SAML トークンを使用して Web サービスを認証します。

    Web サービス・プロバイダーは、SAML トークンと共に SOAP メッセージを受け取ると、まずトークンを検証した後、SAML トークン属性を使用して認証プロセスを実行します。SAML トークンの検証に関係するステップは次のとおりです。

    1. server.xml ファイル内で featureManagerwsSecuritySaml-1.1 を追加します。
      <featureManager>
              <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. アプリケーションは、.wsdl ファイル内のポリシーにサポート・トークンとして SAML トークンを指定する必要があります。
    3. トークンの検証時には、サーバー構成内の以下の属性が使用されます。
      <wsSecurityProvider id="default"
                ..
                ..
                <samltoken
                     wantAssertionsSigned="true"
                     clockSkew="5m"
                     timeToLive="30m"
                     requiredSubjectConfirmationMethod="bearer"
                     audienceRestrictions="https://../aud1"
                     audienceRestrictions="aud2" ..          />
                      
                      
      </wsSecurityProvider>
    • wantAssertionsSigned - WS-Security プロバイダーが受け取る SOAP メッセージ内の <saml:Assertion> エレメントが署名されるかどうかを指定します。
    • clockSkew - SAML トークンを生成したシステムと SAML トークンを受信したシステムとの間の許容される時間差。デフォルトは 5 分です。
    • timeToLive - SAML アサーションの存続時間。この設定は、SAML アサーションに NoOnOrAfter 条件が欠落している場合に必要です。デフォルトは 30 分です。
    • requiredSubjectConfirmationMethod - SAML アサーション内のサブジェクト確認メソッド。デフォルトは bearer です。
    • audienceRestrictions - 許可される SAML アサーション対象者。デフォルトでは、すべての対象者が許可されます。

    認証に関係する上記ステップのもっと詳しい説明については、『WS-Security SAML 呼び出し元構成の作成』を参照してください。


トピックのタイプを示すアイコン タスク・トピック



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