SAML 보안 토큰을 사용하여 웹 서비스에 대한 보안 컨텍스트 설정

WebSphere® Application Server에서는 웹 서비스 SOAP 요청 메시지에서 SAML 보안 토큰을 사용하여 클라이언트 보안 컨텍스트를 설정하기 위해 두 개의 정책 세트 호출자 바인딩 구성 옵션을 지원합니다. 두 구성 옵션은 로컬 사용자 저장소에서 사용자 항목에 SAML 토큰을 맵핑하는 옵션과 신뢰 관계에 기반하여 SAML 토큰을 신뢰하는 옵션입니다.

시작하기 전에

이 태스크에서는 사용자가 WebSphere Application Server SAML 기술에 친숙하다고 가정합니다.

이 태스크 정보

이 태스크에서는 웹 서비스 SOAP 요청 메시지에서 SAML 보안 토큰을 사용하여 클라이언트 보안 컨텍스트를 설정하는 WebSphere Application Server 정책 세트 바인딩 구성 옵션 설정에 대해 설명합니다. 로컬 사용자 저장소에서 사용자 항목에 SAML 토큰을 맵핑하거나 신뢰 관계에 기반하여 SAML 토큰을 신뢰할 수 있습니다. 두 번째 구성 옵션은 로컬 사용자 저장소에 액세스하지 않아도 됩니다. 대신, WS-Security 런타임 환경은 SAML 보안 토큰의 컨텐츠를 사용하여 클라이언트 보안 컨텍스트를 모두 채웁니다. 이 프로세스는 SAML 토큰 발행자에 대한 신뢰 관계에 기반합니다. SAML 토큰이 sender-vouches 주제 확인 메소드를 지정하는 경우, 프로세스는 메시지 전송자에 대한 신뢰 관계에 기반합니다.

프로시저

  1. 웹 서비스 클라이언트 요청을 나타내도록 정책 세트 호출자 바인딩을 구성하고 SAML 토큰 유형을 선택하십시오.
    1. WebSphere 엔터프라이즈 애플리케이션 > application_name > 서비스 제공자 정책 세트 및 바인딩 > binding_name > WS-Security > 호출자를 클릭하십시오.
    2. 새로 작성을 클릭하여 호출자 구성을 작성하십시오.
    3. 이름(예: caller)을 지정하십시오.
    4. 호출자 ID 로컬 파트에 대한 값을 입력하십시오. 예를 들어 http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0과 같습니다. 이는 첨부된 WS-Security 정책에서 CustomToken 요소의 로컬 파트와 일치해야 합니다.
    5. 적용저장을 클릭하십시오.
  2. 옵션: 로컬 사용자 저장소에서 사용자 항목에 SAML 보안 토큰을 맵핑하십시오. 사용자 항목에 대한 맵핑은 구성 옵션을 지정하지 않고 호출자 바인딩을 구성할 때 기본 동작입니다. 또는 선택적으로 다음 방법을 사용하여 명시적으로 이 구성 옵션을 선택할 수 있습니다.
    1. 호출자 바인딩 구성 페이지에서 콜백 핸들러를 추가하십시오. com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. 콜백 핸들러 사용자 정의 특성, crossDomainIdAssertion을 추가하고 해당 값을 false로 설정하십시오.
  3. 옵션: 신뢰 관계에 기반하여 SAML 보안 토큰을 보장하십시오.
    1. 호출자 바인딩 구성 페이지에서 콜백 핸들러를 추가하십시오. com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. 콜백 핸들러 사용자 정의 특성, crossDomainIdAssertion을 추가하고 해당 값을 true로 설정하십시오.
    WebSphere Application Server 버전 7.0 수정팩 7 이상 릴리스에서 WS-Security 런타임 환경은 SAML 토큰 발행자 이름을 사용하여 외부 보안 영역 이름을 나타냅니다. WS-Security는 SAML 2.0 보안 토큰의 경우 NameID 요소 또는 SAML 1.1 보안 토큰의 경우 NameIdentifier 요소를 사용하여 사용자 보안 이름을 나타냅니다. 또는 명시적으로 사용자 보안 이름을 나타내는 데 사용할 SAML 토큰 속성을 지정할 수 있습니다. 또한 사용자 그룹 멤버십을 나타내는 데 사용할 SAML 토큰 속성을 지정할 수도 있습니다. SAML 토큰 어설션 신뢰 모델 및 바인딩 구성에 대한 자세한 논의는 WebSphere Application Server 보안 도메인에서 SAML 어설션을 참조하십시오.

    버전 8.x는 SAML 토큰에서 com.ibm.websphere.security.cred.WSCredential의 컨텐츠를 전파할 수 있습니다. 웹 서비스 클라이언트의 WS-Security 바인딩 구성에서 tokenRequest 사용자 정의 특성을 issueByWSCredential 특성 값으로 설정해야 합니다. 이 바인딩 옵션에 대한 자세한 설명은 SAML 토큰 전파를 참조하십시오. crossDomainIdAssertion 특성이 버전 8.x에서 true로 설정된 경우 WS-Security는 SAML 토큰이 SAML 속성 UniqueSecurityName(NameFormat 요소가 com.ibm.websphere.security.cred.WSCredential 값으로 설정됨)을 포함하는지 여부를 확인합니다. 이 항목을 찾으면 WS-Security는 NameID 요소 또는 NameIdentifier 요소의 NameQualifier 속성 값을 사용하여 사용자 보안 영역 이름을 나타냅니다. 또한 WS-Security는 UniqueSecurityName 속성 값 및 GroupIds 속성 값을 사용하여 고유한 사용자 이름 및 그룹 멤버십을 나타냅니다. 이 기본 동작은 제품의 버전 7 및 버전 8.x 사이에서 서로 다릅니다. CallbackHandler 특성, IssuerNameForRealm을 추가하고 해당 값을 true로 설정하여 버전 7 동작을 유지하도록 버전 8.x를 구성할 수 있습니다. 또는 CallbackHandler 특성, NameQualifierForRealm을 추가하고 해당 값을 true로 설정하여 항상 NameQualifier 속성을 사용해 사용자 보안 영역 이름을 나타내도록 버전 8.x를 구성할 수 있습니다.

결과

웹 서비스 SOAP 요청 메시지에서 SAML 보안 토큰을 사용하여 클라이언트 보안 컨텍스트를 설정하도록 웹 서비스를 구성했습니다.

다음 예제는 WSCredential에 기반하여 자체 실행되는 SAML 1.1 어설션의 NameIdentifierAttribute 요소를 설명합니다.
<saml:AttributeStatement>
    <saml:Subject>
        <saml:NameIdentifier NameQualifier="ldap.example.com:9080">uid=alice,dc=example,dc=com</saml:NameIdentifier>
        <saml:SubjectConfirmation>
            <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Attribute AttributeName="UniqueSecurityName" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>uid=alice,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
    <saml:Attribute AttributeName="GroupIds" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>cn=development,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=deployment,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=test,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>
다음 예제는 WSCredential에 기반하여 자체 실행되는 SAML 2.0 어설션의 NameIDAttribute 요소를 설명합니다.
<saml2:AttributeStatement>
    <saml2:Attribute Name="UniqueSecurityName" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
    <saml2:AttributeValue>uid=alice,dc=example,dc=com</saml2:AttributeValue>
    <saml2:Attribute>
        <saml2:Attribute AttributeName="GroupIds" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
        <saml2:AttributeValue>cn=development,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=deployment,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=test,dc=example,dc=com</saml2:AttributeValue>
    </saml2:Attribute>
<saml2:AttributeStatement>

<saml2:NameID NameQualifier="ldap.example.com:9060">alice</saml2:NameID>

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



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_representclientbysaml
파일 이름:twbs_representclientbysaml.html