서비스 공급자의 IDP 검색 구성
목차
casso127kkr
목차
2
casso127kkr
IPD(아이덴티티 공급자 검색) 프로필이 제공하는 공통 검색 서비스를 사용하면 서비스 공급자가 인증을 위해 고유 IdP를 선택할 수 있습니다. 네트워크에 있는 모든 사이트가 아이덴티티 공급자 검색 서비스와 상호 작용하도록 파트너 간의 사전 비즈니스 계약이 설정되어 있습니다.
이 프로필은 어설션을 제공하는 파트너가 둘 이상 있는 페더레이션된 네트워크에 유용합니다. 서비스 공급자는 자신이 특정 사용자에 대한 인증 요청을 보내는 아이덴티티 공급자를 결정할 수 있습니다.
IdP 검색 프로필은 두 페더레이션된 파트너에 공통적인 쿠키 도메인을 사용하여 구현됩니다. 약정된 도메인의 쿠키에는 사용자가 방문한 IdP 목록이 포함되어 있습니다.
일반 도메인 쿠키를 검색하려면 SP가 사용자를 IdP 검색 서비스로 리디렉션해야 합니다. 쿠키에는 사용자가 이미 방문한 IdP 목록이 포함됩니다. 이 목록에서 SP는 올바른 아이덴티티 공급자를 선택하고 AuthnRequest를 보냅니다.
참고:
인증을 요구하는 사용자는 이전에 아이덴티티 공급자를 방문하여 인증을 받은 상태여야 합니다.IDP 검색은 다음과 같이 발생합니다.
- 브라우저가 SP의 사이트 선택 페이지를 요청합니다.이 사이트 선택 페이지는 IDP 검색 서비스 URL을 인식하고 있습니다.
- 사이트 선택 페이지가 사용자를 일반 도메인의 IDP 검색 서비스 URL로 리디렉션합니다. 리디렉션 URL에는 일반 도메인 쿠키를 원한다는 쿼리 매개 변수가 포함됩니다.
- IDP 검색 서비스가 일반 도메인 쿠키의 값을 검색하여 쿼리 매개 변수로 설정합니다. 그런 다음 서비스가 사용자를 SP의 사이트 선택 페이지로 다시 리디렉션합니다.
- SP가 IdP ID(사용자가 이전에 인증을 받은 URI)로 사이트 선택 페이지를 채웁니다.
- 사용자가 IdP를 선택하여 사용자 인증을 수행합니다.
SP에서 아이덴티티 공급자 검색 구성
서비스 공급자에서 아이덴티티 공급자 검색 프로필을 구성하는 과정에는 관리 UI가 포함되지 않습니다. 프로필은 아이덴티티 공급자의 관리 UI에서 사용되도록 설정됩니다.
이 프로세스의 첫 번째 단계는 사이트 선택 페이지를 만드는 것입니다. 정책 서버는 SP가 사용할 수 있는 IdPDiscovery.jsp라는 샘플 사이트 선택 페이지와 함께 제공됩니다.
사이트 선택 페이지의 첫 번째 링크는 한 도메인에서 일반 도메인의 IdP 검색 서비스로 브라우저를 리디렉션합니다. 서비스가 _
saml_idp
라는 일반 도메인 쿠키를 가져옵니다. 요청을 받는 경우 SP의 IdP 검색 서비스가 일반 도메인 쿠키를 가져옵니다. 서비스가 링크에 일반 도메인 쿠키를 쿼리 매개 변수로 추가합니다. 그런 다음 서비스가 사용자를 일반 도메인의 IdPDiscovery.jsp 사이트 선택 페이지로 다시 리디렉션합니다.기본적으로 IdPDiscovery.jsp 페이지에는 공용 쿠키에서 추출하는 IdP에 대한 ID 목록만 표시됩니다. 목록은 정적이고, 연결된 IdP와의 통신을 시작하는 목록과 연결된 HTML 링크가 없습니다.
SP에서 IdP 검색을 구성하려면
- SP의 IdP 검색 서비스에서 일반 도메인 쿠키를 요청하는 사이트 선택 페이지를 생성합니다.정책 서버는 SP가 IdP 검색을 구현하는 데 사용할 수 있는 IdPDiscovery.jsp라는 샘플 사이트 선택 페이지와 함께 제공됩니다. 이 페이지는 다음 디렉터리에서 찾을 수 있습니다.web_agent_home/affwebservices/public
- SP 사이트에 대한 샘플 페이지에서 다음 링크를 편집합니다. 링크의 첫 번째 부분에서는 saml2idp 쿠키가 있는 일반 도메인을 지정합니다. 링크의 두 번째 부분에서는 IdPDiscovery.jsp가 있는 일반 도메인을 지정합니다.예를 들면 다음과 같습니다.<a href="http://myspsystem.commondomain.com/affwebservices/public/saml2ipd/?IPDTarget=/http://myspsystem.spdomain.com/affwebservices/public/IdpDiscovery.jsp&SAMLRequest=getIPDCookie">Retrieve idp discovery cookie from IPD Service</a>사용자가 대상 사이트 선택 페이지가 있는 일반 도메인으로 다시 리디렉션되면 이제 해당 사용자가 공용 쿠키를 갖게 됩니다.
- (선택 사항) 각 IdP에 대해 HTML 링크를 표시하도록 IdPDiscovery.jsp 사이트 선택 페이지를 편집합니다. 각 링크는 싱글 사인온을 시작하도록 IdP에 대한 AuthnRequest를 트리거합니다. 기본적으로 IdPDiscovery.jsp 페이지에는 공용 쿠키에서 추출하는 IdP에 대한 ID 목록만 표시됩니다.
- 편집된 사이트 선택 페이지를 사용하여 IdP 검색을 테스트합니다.
IdP 검색이 제대로 작동하는 경우 사이트 선택 페이지에는 선택할 IdP 목록이 표시됩니다.
공격으로부터 IdP 검색 대상 보안
casso127kkr
Single Sign-On
아이덴티티 공급자 검색 서비스가 일반 도메인 쿠키에 대한 요청을 받는 경우 요청에는 IPDTarget이라는 쿼리 매개 변수가 포함되어 있습니다. 이 쿼리 매개 변수는 검색 서비스가 요청을 처리한 후 리디렉션해야 하는 URL을 나열합니다.IdP의 경우 IPDTarget은 SAML 2.0 Single Sign-On 서비스입니다. SP의 경우 대상은 일반 도메인 쿠키를 사용하려고 요청하는 응용 프로그램입니다.
보안 공격으로부터 IPDTarget 쿼리 매개 변수를 보호하는 것이 좋습니다. 권한 없는 사용자가 이 쿼리 매개 변수에 임의의 URL을 넣을 수 있습니다. 그러면 URL로 인해 악의적인 사이트로 리디렉션될 수 있습니다.
공격으로부터 쿼리 매개 변수를 보호하려면 "에이전트 구성 개체" 설정
ValidFedTargetDomain
을 구성하십시오. ValidFedTargetDomain 매개 변수는 페더레이션 환경에 대해 유효한 도메인을 모두 나열합니다.참고
ValidFedTargetDomain 설정은 웹 에이전트가 사용하는 ValidTargetDomain 설정과 유사하지만 이 설정은 구체적으로 페더레이션에 대해 정의됩니다.IPD 서비스가 IPDTarget 쿼리 매개 변수를 검사합니다. 그런 다음 서비스는 쿼리 매개 변수가 지정하는 URL의 도메인을 획득합니다. IPD 서비스가 이 도메인과 ValidFedTargetDomain 매개 변수에 지정된 도메인 목록을 비교합니다. URL 도메인이 ValidFedTargetDomain에 구성된 도메인 중 하나와 일치하면 IPD 서비스가 사용자를 지정된 URL로 리디렉션합니다.
일치하는 도메인이 없으면 IPD 서비스가 사용자 요청을 거부하고 브라우저를 통해 "403 사용 권한 없음" 오류가 수신됩니다. 또한 FWS 추적 로그와 affwebservices 로그에서 오류가 보고됩니다. 이러한 메시지는 IPDTarget의 도메인이 유효한 페더레이션 대상 도메인으로 정의되지 않았음을 나타냅니다.
ValidFedTargetDomain 설정을 구성하지 않으면 서비스가 유효성 검사를 수행하지 않은 상태로 사용자를 대상 URL로 리디렉션합니다.