Liberty에서 SAML 웹 인바운드 전파 구성
인증 토큰으로 HTTP 헤더의 SAML 토큰을 승인하도록 Liberty 서버를 구성할 수 있습니다. 이 기능은 일반적으로 인증된 사용자 대신 SAML을 사용하는 프록시 또는 RESTful 클라이언트에 사용됩니다.
이 태스크 정보
Liberty에서 samlWeb-2.0 기능을 사용으로 설정하고 다른 구성 정보에 추가하여 inboundPropagation=required를 설정하여 HTTP 헤더의 SAML 토큰을 인증 토큰으로 승인하도록 Liberty 서버를 구성할 수 있습니다. 인바운드 전파를 위한 구성은 Liberty에서 SAML 웹 브라우저 SSO 구성과 비슷합니다.
프로시저
- featureManager 요소 내에 다음 요소 선언을 추가하여
server.xml 파일에 samlWeb-2.0 Liberty
기능을 추가하십시오.
<feature>samlWeb-2.0</feature>
- SAML 인바운드 전파를 사용으로 설정하십시오. Liberty 서버는 기본 samlWebSso20 요소를 제공합니다.
<samlWebSso20 id="defaultSP"> </samlWebSso20>
이 기본 samlWebSso20 요소를 사용하거나 새 samlWebSso20 요소를 작성하여 inboundPropagation=required 추가를 통해 SAML 인바운드 전파를 사용으로 설정할 수 있습니다.<samlWebSso20 id="defaultSP" inboundPropagation="required" > </samlWebSso20>
참고: SAML이 구성되어 사용으로 설정되면 모든 인증되지 않은 요청이 SAML 인증을 사용합니다. SAML 인증을 사용하거나 사용하지 않을 수 있는 요청 유형을 구성하려면 이 주제에 설명된 대로 인증 필터를 구성해야 합니다. - PKIX 유효성 검증을 통해 서명에 있는 인증서의 신뢰성을 유효성 검증하도록 PKIX 신뢰 엔진을 구성해야 합니다. 이 유효성 검증을 전달하는
인증서가 신뢰 가능한 것으로 가정됩니다.
- <PKIXTrustEngine>을 구성하고 모든 신뢰 SAML 서명자 인증서를 Liberty 서버의 기본 신뢰 저장소로 가져오거나 PKIXTrustEngine의 trustAnchor로 가져오십시오.
- 선택사항: 인증서 신뢰성이 충분하지 않으면 SAML 어설션에 표시되는 SAML 토큰의 발행자 이름을 나열하도록 trustedIssuers를 구성하십시오.
다음 예는 샘플 구성입니다.<samlWebSso20 id="defaultSP" inboundPropagation="required" headerName="saml_token" signatureMethodAlgorithm="SHA1"> <pkixTrustEngine trustAnchor="serverStore" /> </samlWebSso20>
- 선택사항: headerName을 추가하여 SAML 토큰을 포함하는 http 요청 헤더 이름을 정의할 수 있습니다. 이 구성 속성이 정의되지 않은 경우 Liberty 서버는 SAML 토큰의 헤더 이름 saml, Saml 및 SAML을 검색합니다. HTTP 요청의 SAML 토큰 헤더는 다음 형식 중 하나일 수 있습니다.
Authorization=[<headerName>=<SAML_HERE>] Authorization=[<headerName>="<SAML_HERE>"] Authorization=[<headerName> <SAML_HERE>] <headerName>=[<SAML_HERE>]
SAML 토큰은 Base-64 또는 UTF-8 인코딩된 토큰이어야 하며 GZIP 형식으로 압축될 수 있습니다.
참고: SAML 토큰 헤더 이름은 URL 안전 문자열이어야 하고 선행 또는 후미 공백을 포함해서는 안됩니다. - 선택사항: SAML에서 인증된 주제를 작성하는 방법을 구성할 수 있습니다. 기본적으로 Liberty 서비스 제공자는 구성 mapToUserRegistry=No와 동등한 로컬 사용자 레지스트리의 요구사항 없이 직접 SAML 어설션에서 주제를 작성합니다. 다른 구성 옵션은
mapToUserRegistry=User 또는 mapToUserRegistry=Group입니다.
- mapToUserRegistry=No: SAML 발행자의 이름은 realm이고 NameID는 주제에서 프린시펄 이름 및 고유 보안 이름을 작성하는 데 사용되고 그룹 멤버가 포함되지 않습니다. 속성 userIdentifier, realmIdentifier, groupIdentifier, userUniqueIdentifier를 구성하여 사용자 정의된 사용자 이름, 영역 이름, 그룹 멤버십, 고유 보안 ID로 인증된 주제를 작성할 수 있습니다.
- mapToUserRegistry=User: 로컬 사용자 레지스트리에 대해 SAML 사용자를 유효성 검증하려면 이 옵션을 선택하고 로컬 사용자 레지스트리에 따라 사용자 주제를 작성하십시오.
- mapToUserRegistry=Group: 로컬 사용자 레지스트리에 대해 SAML 그룹을 유효성 검증하고 이 유효성 검증된 그룹을 포함하도록 주제를 작성하려면 이 옵션을 선택하십시오. 이 옵션은 그룹 멤버십이 로컬 사용자 레지스트리에 대해 확인되는 점을 제외하고는 mapToUserRegistry=No와 비슷합니다.
- 선택사항: Liberty SAML SPI com.ibm.wsspi.security.saml2.UserCredentialResolver를 사용자 기능으로 구현하여 Liberty 주제에 SAML 어설션을 동적으로 맵핑할 수 있습니다.
- 선택사항: 여러 samlWebSso20 요소를 구성할 수 있으며 각 samlWebSso20 요소는 한 개의 고유 authFilter 요소를 참조합니다. 모든 authFilter 요소는 서로를 제외시켜야 합니다. 여러 samlWebSso20 요소가 구성되어 있는 경우 각각에는 고유 인증 정책 및 이용 규칙이 있습니다.
- 선택사항: 다음 고려사항과 함께 서명 요구사항을
구성하십시오.
기본 서명 알고리즘은 SHA256입니다. 알고리즘을 변경해야 하는 경우 signatureMethodAlgorithm 속성을 사용하여 수정하십시오.
- 선택사항: SP 인증 세션 및 쿠키를 구성할 수 있습니다. SAML 어셜션이 확인되어 처리된 후에는 Liberty SAML SP가 LTPA 쿠키를 사용하지 않고도 클라이언트와 SP 사이에 인증된 세션을 유지보수합니다. 인증된 세션 제한시간은
<saml:AuthnStatement>에서 SessionNotOnOrAfter(제공되는
경우)로 설정되거나, server.xml 파일에 구성된
대로 sessionNotOnOrAfter로 설정되며, 기본값은
120분입니다. 세션 쿠키 이름은 자동으로 생성되며, spCookieName
속성에서 원하는 이름을 지정하여 쿠키 이름을 사용자 정의할 수 있습니다.
Liberty SP가 SAML 어설션에서 LTPA 쿠키를 작성하도록 하고 후속 인증 요청에 LTPA 쿠키를 사용하려는 경우, disableLtpaCookie=false 구성을 추가할 수 있습니다. 다른 서버와 LTPA 쿠키를 공유하려면 구성 속성 allowCustomCacheKey="false"를 추가해야 합니다.
참고: disableLtpaCookie="false" 및 allowCustomCacheKey="false"를 구성하는 경우에는 SAML 사용자 이름이 사용자가 두 개의 계정을 갖지 못하게 하는 로컬 사용자 레지스트리에 대해 직접 인증하지 않습니다. - 인증 필터를 구성하십시오. authnFilter를 사용하여 인바운드 전파 인증 요청을 처리할 samlWebSso20 요소를 정의할 수 있습니다.
인증 필터 구성에 대한 자세한 정보는 인증 필터를 참조하십시오.
결과
상위 주제: Liberty에서 사용자 인증


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_saml_web_inbound_prop
파일 이름: twlp_saml_web_inbound_prop.html