SAML용 웹 서비스 클라이언트 캐시
SAML 토큰이 초기에 요청되면 웹 서비스 런타임 환경은 자동으로 SAMLToken을 캐시합니다. 이 자동 클라이언트 토큰 캐싱 기능의 결과로, 후속 웹 서비스 요청은 이전 요청에서 SAMLToken을 사용할 수 있습니다.
SAML용 웹 서비스 클라이언트 토큰 캐시를 사용하여 비즈니스 서비스 액세스 시 웹 서비스 클라이언트가 SAML 토큰을 재사용할 수 있습니다. 유효한 SAML 토큰을 재사용하면 STS(Security Token Service)에 대한 트래픽을 줄이며 WS-Trust 요청 메시지 전송의 성능 영향을 줄일 수도 있습니다. 토큰이 유효하다고 간주되어 캐싱 및 재사용에 사용할 수 있게 하기 위한 여러 요구사항이 있습니다.
SAML 토큰을 재사용하려면, 토큰의 만기 시간이 현재 시간 이상이어야 합니다. 토큰 만기 시간과 현재 시간을 비교할 때 전송 후 바로 토큰이 만기되지 않도록 캐시 쿠션이 현재 시간에 추가됩니다.
또한, 동일한 비즈니스 서비스로 다시 전송되는 경우에만 토큰이 유효합니다. WebSphere® Application Server의 SAML 함수는 SAML 토큰에 대한 AudienceRestriction 조건을 확인하지 않습니다. 그러므로, SAML 토큰이 올바른 대상에 대해 재사용되는지 확인하는 실질적인 방법은 원래 토큰을 사용했던 동일한 웹 서비스에 대해서만 토큰을 사용하는 것입니다. 어설션이 OneTimeUse 어설션을 포함하면 SAML 토큰이 캐시되지 않습니다.
SAMLToken 캐시의 장점을 활용하려면, 애플리케이션 및 SAMLToken은 다음 요구사항을 충족해야 합니다.
- SAMLToken은 상대적으로 긴 만기 시간을 가져야 하며, 첫 번째 요청이 완료된 후
토큰 수명에 적어도 5분이 남아 있어야 합니다. WS-Security 런타임 환경은 사전 정의된 캐시 쿠션에 대해
캐시된 SAMLToken 만기 시간의 유효성을 검증합니다.
남은 토큰 수명이 쿠션 값보다 큰 경우에만 캐시된 토큰이 유효합니다. 기본 쿠션 값은 5분입니다.
이 값은 사용자 정의 특성, cacheCushion을 사용하여 구성될 수 있습니다.
기본 캐시 쿠션을 대체하려면, SAMLToken 생성기에 대해 CallbackHandler 사용자 정의
특성을 편집합니다. cacheCushion 특성을 추가하고 밀리초로 캐시 쿠션 값을 설정합니다. 캐시된 SAMLToken
수명이 캐시 쿠션 한계 내에 있으면 새 SAMLToken이 요청됩니다.
예를 들어 캐시 쿠션을 3분이나 180000 밀리초로 변경할 수 있습니다.
사용자 정의 특성 이름 값 cacheCushion 180000 - SAML 토큰은 OneTimeUse 어설션을 포함할 수 없습니다.
- SAML 토큰이 암호화되면, STS는 암호화된 토큰 외부의 토큰 만기 시간을 통신하며 SAML 토큰은 OneTimeUse 어설션을 포함하지 않아야 합니다.
후속 요청에 대해 동일한 SAMLToken을 재사용하지 않으려면,
클라이언트 측 SAMLToken 캐시를 cacheToken 사용자 정의 특성과 사용할 수 없습니다. 클라이언트 측 SAMLToken 캐시를 사용 안함으로 설정하려면,
SAMLToken 생성기에 대한 CallbackHandler에서 사용자 정의 특성을 수정하십시오. cacheToken 특성을 추가하고 값을 false로 설정합니다.
사용자 정의 특성 이름 | 값 |
---|---|
cacheToken | false |