SAML 싱글 사인온 시나리오, 기능 및 제한사항

SAML(Security Assertion Markup Language)은 사용자 ID, 인증 및 속성 정보를 나타내고 교환하기 위한 OASIS 개방형 표준입니다. SAML은 빠르게 공급업체간 싱글 사인온(SSO) 상호 운용성을 제공하기 위해 선택하는 기술이 되고 있습니다.

WebSphere Application Server SAML 서비스 제공자(SP)는 SAML 2.0 ID 제공자(IdP) 시작 싱글 사인온(SSO)을 지원합니다. WebSphere IdP 시작 SSO 서비스는 TAI(Trust Association Interceptor)로서 구현되며 다음과 같이 설명할 수 있습니다.
  1. 사용자가 IdP, SP 또는 다른 곳에 상주할 수 있는 프론트 엔드 웹 애플리케이션에 액세스합니다.
  2. 프론트 엔드 웹 애플리케이션이 사용자를 IdP로 경로 재지정하고 사용자가 IdP에 인증합니다.
  3. IdP가 숨겨진 양식에 있는 SAML 응답을 HTTP POST를 통해 전송하여 사용자를 SP의 ACS(Assertion Consumer Service)로 경로 재지정합니다.
  4. SP가 SAML 응답을 처리하고 WebSphere 보안 컨텍스트를 작성합니다.
  5. SP가 LTPA 쿠키를 HTTP 응답에 추가하고 요청을 웹 자원이나 비즈니스 애플리케이션으로 경로 재지정합니다.
  6. WebSphere Application Server가 요청을 인터셉트하고, LTPA 쿠키를 보안 컨텍스트에 맵핑하고 요청된 웹 자원에 대한 사용자 액세스를 권한 부여합니다.
  7. WebSphere Application Server가 HTTP 응답을 다시 사용자에게 전송합니다.

다음 이미지는 SAML SSO 플로우를 보여줍니다.

SAML SSO 플로우

SAML SSO 기능은 다음을 포함합니다.
  • WebSphere SAML 서비스 제공자가 다중 ID 제공자를 갖는 싱글 사인온을 지원합니다.
  • WebSphere SAML 서비스 제공자가 ID 어설션 및 어설션 ID를 서비스 제공자의 사용자 레지스트리에 맵핑하기 위한 옵션을 지원합니다.
  • WebSphere SAML 서비스 제공자는 SAML 토큰 속성을 영역, 프린시펄, 고유 ID 및 그룹에 맵핑하거나 어쎨션하고 이들을 서비스 제공자 보안 컨텍스트에 설정할 수 있습니다.
  • WebSphere SAML 서비스 제공자는 사용자 정의된 ID 맵핑을 허용하기 위한 플러그 지점을 제공합니다.
  • WebSphere SAML 서비스 제공자가 서비스 제공자의 레지스트리에서 ID의 그룹 멤버십을 검색하고 보안 컨텍스트를 채우는 옵션을 갖고 있습니다.
  • WebSphere SAML 서비스 제공자는 요청이 IdP로부터 오지 않은 경우 요청을 다시 적절한 IdP로 경로 지정하기 위한 IdP 선택 필터를 제공합니다.
  • WebSphere SAML 서비스 제공자는 RSA-SHA1 및 RSA-SHA256 시그니처 알고리즘을 둘 다 지원합니다.
  • WebSphere SAML 서비스 제공자는 애플리케이션의 액세스를 위해 서비스 제공자의 주제에 있는 SAML 토큰을 보존하고, 다운스트림 인증 EJB(Enterprise JavaBean) 또는 웹 서비스 호출에 사용할 수 있게 만듭니다.
  • WebSphere SAML 서비스 제공자는 비즈니스 애플리케이션 URL이 AssertionConsumerService URL로 작용하도록 허용하므로, IdP가 SAMLResponse를 비즈니스 애플리케이션 URL로 직접 전송할 수 있습니다.
  • WebSphere SAML 신뢰 연관 인터셉터(TAI)는 Issuer 및 NameID를 포함하여 키 SAML 어설션의 감사를 허용합니다.
다음 기능은 SAML SSO 기능을 강조표시하고 우수 사례가 적용됩니다.
  • WebSphere SAML 서비스 제공자의 어설션 이용자 서비스(ACS):
    ACS는 SAML 프로토콜 메시지를 채택하고 보안 컨텍스트를 설정하는 보안 서블릿입니다. ACS URL은 samlsps로서 사전 정의된 ContextRoot를 갖고, URL은 다음 형식을 갖습니다.
    https://<host name>:<port>/samlsps/<any uri pattern>
    ACS가 수신하는 SAMLResponse가 TAI에 의해 인터셉트되며, 성공적으로 유효성 검증할 때 요청이 대상 애플리케이션 서비스로 경로 재지정됩니다.

    POST 메소드를 구현하는 모든 비즈니스 서비스가 ACS로 작용할 수 있습니다. 대상 비즈니스 서블릿을 ACS로 사용하는 것은 브라우저와 서비스 제공자 서버 사이의 한 번의 라운드트립을 줄이기 때문에 선호됩니다.

  • 다중 보안 도메인 지원:
    ACS가 애플리케이션 보안 도메인에서 배치되며, ACS가 비즈니스 애플리케이션과 동일한 보안 도메인에 상주할 것으로 예상됩니다. ACS및 대상 비즈니스 애플리케이션(RelayState)이 서로 다른 보안 도메인에 있는 경우, 몇 가지 권장 옵션은 다음과 같습니다.
    • ACS의 보안 도메인에서 SAMLResponse를 처리하십시오.
    • 비즈니스 애플리케이션과 동일한 도메인을 갖도록 ACS를 재구성하십시오.
    • 대상 비즈니스 서비스를 ACS로 사용하십시오.
  • 다중 싱글 사인온 참여자:

    WebSphere SAML TAI는 다중 ACS 및 IdP 싱글 사인온(SingleSignOnService) 참여자를 지원합니다. 한 SSO 참여자가 하나의 ACS URL로서 정의되며 다중 SingleSignOnService 오브젝트를 가질 수 있습니다. 다중 SSO 참여자가 존재할 때 각 SSO 파트너십은 ACS URL에 의해 고유하게 식별됩니다.

    각 SSO 참여자는 고유한 유효성 검증 규칙, 어설션에서 주제로의 맵핑 규칙 또는 자체 IdP를 갖는 SSO를 시작하는 규칙을 가질 수 있습니다. 예를 들어, 한 SSO 참여자가 ID 어설션을 처리할 수 있는데, 이것은 사용자 레지스트리에 호출하지 않고 WebSphere 플랫폼 주제 생성으로 구성합니다. 또 다른 SSO 참여자가 로컬 사용자 레지스트리 검색을 수행할 수 있습니다. 또 다른 예는 한 SSO 참여자가 한 IdP로 SSO를 처리하고 또 다른 SSO 참여자가 다른 IdP로 SSO를 처리하는 것입니다.

  • 책갈피 스타일 SSO 및 TAI 필터:

    전통적으로 SP 시작 SSO에 맞는 책갈피 스타일 SSO를 고려하십시오. 사용자는 IdP에 먼저 인증하지 않고 비즈니스 애플리케이션에 액세스합니다. SSO를 시작하도록 WebSphere SAML TAI를 구성할 수 있습니다. 각 SSO 참여자 구성은 IdP 로그인 애플리케이션 및 라우팅 필터를 포함합니다. 각 필터는 HTTP 요청이 SSO 참여자에 대해 선택되는지 여부를 판별하기 위해 HTTP 요청에 대해 일치되는 조건을 나타내는 선택 규칙의 목록을 정의합니다. 필터 규칙은 HTTP 요청 헤더, 참조자 데이터, 대상 애플리케이션 이름의 조합입니다. WebSphere SAML TAI 런타임 환경이 모든 필터 규칙에 대해 사용자 요청을 검사하여 SSO 참여자를 고유하게 식별하고, 요청을 선택된 IdP 로그인 애플리케이션으로 경로 재지정합니다. TAI 필터는 IdP 시작 SSO가 SP 시작 SSO 및 IdP 발견 서비스의 조합으로 비슷한 기능을 제공하도록 허용합니다.

  • ID 맵핑 및 보안 컨텍스트 관리:
    WebSphere SAML TAI는 풍부하고 유연한 ID 맵핑을 제공하며, 다음과 같이 분류할 수 있습니다.
    • ID 어설션: SAML 어설션을 로컬 레지스트리가 없는 WebSphere 플랫폼 주제에 맵핑하십시오. 전형적인 ID 어설션 시나리오는 다음을 포함합니다.
      • 기본값: NameID룰 프린시펄로, 발행자를 영역으로, 선택된 속성을 그룹 멤버로 사용하십시오.
      • 사용자 정의: SAML 속성을 프린시펄, 영역, accessID, 그룹 멤버로 구성하십시오.
    • IdP의 NameID를 서비스 제공자의 사용자 레지스트리에 대해 맵핑하고, 레지스트리로부터 주제를 빌드하십시오. 다음 시나리오가 지원됩니다.
      • SAML NameId를 로컬 레지스트리에 직접 맵핑하십시오.
      • 사용자 정의 맵핑을 위한 플러그인 지점을 제공한 후, 새 사용자를 사용하여 주제를 빌드하십시오.
      • NameID를 사용자 레지스트리에 맵핑하고 ID 어설션으로 다시 후퇴하십시오.
    • ID 어설션과 로컬 레지스트리의 조합:

      ID 어설션 외에, TAI는 서비스 제공자의 사용자 레지스트리에서 어설션된 그룹의 상위 그룹을 검색하고, 해당 상위 그룹을 주제에 포함시킵니다. 예를 들어, 권한이 상위 그룹에 부여되지만 ID 제공자는 상위 그룹 이름을 모릅니다.

WebSphere Application Server는 IdP 시작 SAML 웹 SSO만 지원합니다.

다음 스펙이나 시나리오는 범위를 벗어납니다.
  • ECP(Enhanced Client or Proxy) 프로파일
  • ID 제공자 발견 프로파일
  • 단일 로그아웃 프로파일
  • 이름 ID 관리 프로파일
  • 아티팩트 해결 프로파일
  • 어설션 조회/요청 프로파일
  • 이름 ID 맵핑 프로파일
  • SAML 속성 프로파일

주제 유형을 표시하는 아이콘 개념 주제



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