SAML(Security Markup Assertion Language) 토큰으로 웹 서비스 클라이언트 인증

Web Services Security SAML Token Profile 1.1은 WSS(Web Services Security): SOAP Message Security V1.1 스펙에서 SAML(Security Assertion Markup Language) V1.1 및 V2.0 어설션을 사용하는 방법을 정의합니다. Liberty는 bearer 확인 메소드로 Web Services Security SAML Token Profile 1.1 for SAML v2.0 어설션을 지원합니다.

이 태스크 정보

Liberty는 bearer 확인 메소드 (<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">)로 SAML v2.0을 지원합니다. 웹 서비스 클라이언트는 SAML 토큰을 요청자 식별 수단으로 웹 서비스 제공자에 전파하며, 웹 서비스 제공자는 이 SAML 토큰 정보를 사용하여 요청자를 인증할 수 있습니다.

SAML의 요구사항은 WS-Security 정책에서 지원되는 토큰 중 하나로 표시되어 있습니다. SamlToken 요구사항을 지원되는 토큰 어설션 중 하나에 필수 토큰으로 추가할 수 있습니다(SupportingTokens, SignedSupportingTokens, SignedEncryptedSupportingTokens, EncryptedSupportingTokens 포함).

프로시저

  1. SAML 토큰을 전파하도록 웹 서비스 클라이언트를 구성하십시오.

    Saml20Token (com.ibm.websphere.security.saml2.Saml20Token)RunAs 주제에 있어야 합니다. SamlToken 정책 어설션이 구성된 경우, Liberty WS-Security 런타임은 RunAs 주제에서 Saml20Token을 자동으로 추출하며 SAML 어설션을 <wsse:Security> SOAP 헤더에 첨부합니다. 다음 단계는 필수입니다.

    1. server.xml 파일의 featureManagerwsSecuritySaml-1.1을 추가하십시오.
      <featureManager>
              <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. 애플리케이션은 .wsdl 파일의 정책에서 SAML 토큰을 지원되는 토큰(SupportingTokens, SignedSupportingTokens, SignedEncryptedSupportingTokens, EncryptedSupportingTokens 토큰 어설션)으로 지정해야 합니다.
      <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 토큰으로 웹 서비스를 인증하십시오.

    웹 서비스 제공자가 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 어설션의 수명입니다. 이 설정은 NoOnOrAfter 조건이 SAML 어설션에서 누락된 경우에 필수입니다. 기본값은 30분입니다.
    • requiredSubjectConfirmationMethod - SAML 어설션의 주제 확인 메소드입니다. 기본값은 bearer입니다.
    • audienceRestrictions - SAML 어설션의 허용된 대상자입니다. 기본값은 모든 대상자 허용입니다.

    인증과 관련된 단계에 대한 세부사항은 WS-Security SAML 호출자 구성 작성을 참조하십시오.


주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_auth_saml_token.html