SharePoint 2010에서 호스트 헤더 사이트에 SAML 클레임 사용
최초 문서 게시일: 2011년 6월 19일 일요일
요전에 한 고객이 SharePoint 2010에서 호스트 헤더 사이트에 SAML 클레임을 사용할 수 있는지 여부에 대한 흥미로운 질문을 보내 주신 적이 있습니다. 개인적으로 처음에는 SAML 클레임을 사용할 수 있다고 생각했다가, 좀 더 조사할 필요가 있다고 판단했습니다. 물론 결론부터 이야기하자면 SAML 클레임을 사용할 수는 있지만, 실제로 클레임을 사용하기란 그렇게 간단하지가 않습니다. 클레임 사용법을 보여 드리기 위한 예제로 https://hh.vbtoys.com에서 웹 응용 프로그램을 만들고, https://ash.vbtoys.com 및 https://josh.vbtoys.com의 두 호스트 헤더 사이트를 만들었습니다. 이 예제가 일반적인 호스트 헤더 사이트 모델(베니티 URL 사용)에 100% 적합한 것은 아니지만, SAML 클레임 및 SharePoint 사용 시에는 사이트에서 SSL을 사용해야 한다는 제한이 있기 때문에 이와 같은 예제를 사용했습니다. 즉, SAN(주체 대체 이름)을 사용하는 SSL 인증서를 번거롭게 만들기보다는 간편하게 와일드카드 인증서를 사용하기로 했습니다. 이 예제에서도 SAML 클레임이 작동하는지와 어떠한 구성이 필요한지를 충분히 확인할 수 있으며, 호스트 헤더 사이트와 SAML 인증을 사용하려는 경우에 고려해야 할 사항도 파악할 수 있습니다.
먼저 간단한 테스트를 진행하여 구성을 하나만 변경하면 모든 호스트 헤더 사이트가 작동하도록 하는 이상적인 시나리오를 시험해 보았습니다. 이를 위해 다음의 두 가지 작업을 수행했습니다.
- ADFS에서 https://hh.vbtoys.com/_trust/를 WS Federation 끝점으로 사용하고 URN이 urn:sharepoint:hh인 새 신뢰 당사자를 만들었습니다.
- 기존 SPTrustedIdentityTokenIssuer에 다음과 같이 공급자 영역을 추가했습니다.
$ap = Get-SPTrustedIdentityTokenIssuer -identity "ADFS IdP"
$uri = new-object System.Uri("https://hh.vbtoys.com")
$ap.ProviderRealms.Add($uri, "urn:sharepoint:hh")
$ap.Update()
위에 나와 있는 것처럼 먼저 https://hh.vbtoys.com을 테스트해 보았는데 사이트에 문제없이 방문할 수 있었습니다. 다음으로, 이상적인 시나리오의 실제 테스트에서 https://ash.vbtoys.com을 방문해 보았는데 여기서 문제가 발생했습니다. 즉, 전혀 다른 SPTrustedIdentityTokenIssuer로 리디렉션되었습니다. SharePoint에서 해당 공급자 영역 목록을 조회한 결과 https://ash.vbtoys.com에 해당하는 항목을 찾지 못하여 목록의 첫 번째 SPTrustedIdentityTokenIssuer를 사용한 것으로 보입니다.
그러나 최종적으로는 다음과 같은 작업을 통해 두 호스트 헤더 사이트가 모두 작동하도록 만들 수 있었습니다.
- 각 호스트 헤더 사이트 모음에 대해 ADFS에서 새로운 신뢰 당사자를 만듭니다.
- 각 호스트 헤더 사이트 모음에 대해 새 공급자 영역을 만들어 SPTrustedIdentityTokenIssuer에 추가합니다. 이때 위에 나와 있는 것과 같은 PowerShell을 사용했으며, 각 사이트의 URL과 URN만 수정했습니다. 예를 들어 https://ash.vbtoys.com에 대한 지원은 다음과 같은 방법으로 추가했습니다.
$ap = Get-SPTrustedIdentityTokenIssuer -identity "ADFS IdP"
$uri = new-object System.Uri("https://ash.vbtoys.com")
$ap.ProviderRealms.Add($uri, "urn:sharepoint:ash")
$ap.Update()
보시다시피, 각 호스트 헤더 사이트 모음에 대해 새 신뢰 당사자와 새 공급자 영역(URI 및 URN)을 추가함으로써 SAML 인증을 사용하여 각 사이트에 로그인할 수 있었습니다.
이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Using SAML Claims in SharePoint 2010 with Host Header Sites를 참조하십시오.