예제: AD FS와 SAML/WS-Fed 기반 ID 공급자 페더레이션

참고 항목

  • Microsoft Entra 외부 ID의 직접 페더레이션은 이제 SAML/WS-Fed IdP(ID 공급자) 페더레이션이라고 합니다.

이 문서에서는 AD FS(Active Directory Federation Services)를 사용하여 SAML 2.0 또는 WS-Fed IdP로 SAML/WS-Fed IdP 페더레이션을 설정하는 방법을 설명합니다. 페더레이션을 지원하기 위해서는 IdP에서 특정 특성 및 클레임을 구성해야 합니다. 페더레이션에 대한 IdP를 구성하는 방법을 설명하기 위해 AD FS(Active Directory Federation Services)를 예로 사용합니다. SAML IdP 및 WS-Fed IdP로 AD FS를 설정하는 방법을 보여 줍니다.

참고 항목

이 문서에서는 설명을 위해 SAML 및 WS-Fed 둘 다에 대해 AD FS를 설정하는 방법을 설명합니다. IdP가 AD FS인 페더레이션 통합을 위해 여기에서는 WS-Fed를 프로토콜로 사용하는 것이 좋습니다.

SAML 2.0 페더레이션을 위한 AD FS 구성

Microsoft Entra B2B는 아래 나열된 특정 요구 사항에 따라 SAML 프로토콜을 사용하는 IdP와 페더레이션하도록 구성할 수 있습니다. SAML 구성 단계를 설명하기 위해 이 섹션에서는 SAML 2.0에 대해 AD FS를 설정하는 방법을 보여 줍니다.

페더레이션을 설정하려면 IdP에서 SAML 2.0 응답으로 다음 특성을 받아야 합니다. 이러한 특성은 온라인 보안 토큰 서비스 XML 파일에 연결하거나 수동으로 입력하여 구성할 수 있습니다. 테스트 AD FS 인스턴스 만들기의 12단계에서는 AD FS 엔드포인트를 찾는 방법 또는 메타데이터 URL(예: https://fs.iga.azure-test.net/federationmetadata/2007-06/federationmetadata.xml)을 생성하는 방법을 설명합니다.

attribute
AssertionConsumerService https://login.microsoftonline.com/login.srf
사용자 urn:federation:MicrosoftOnline
발급자 파트너 IdP의 발급자 URI입니다(예: http://www.example.com/exk10l6w90DHM0yi...).

IdP가 발급한 SAML 2.0 토큰에서 다음 클레임을 구성해야 합니다.

attribute
NameID 형식 urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
emailaddress http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

다음 섹션에서는 SAML 2.0 IdP를 예로 들어 AD FS를 사용해서 필요한 특성 및 클레임을 구성하는 방법을 보여줍니다.

시작하기 전에

이 절차를 시작하기 전에 AD FS 서버가 이미 설정되어 작동 중이어야 합니다.

클레임 설명 추가

  1. AD FS 서버에서 도구>AD FS 관리를 선택합니다.

  2. 탐색 창에서 서비스>클레임 설명을 선택합니다.

  3. 작업에서 클레임 설명 추가를 선택합니다.

  4. 클레임 설명 추가 창에서 다음 값을 지정합니다.

    • 표시 이름: 영구 식별자
    • 클레임 식별자: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
    • 페더레이션 메타데이터의 이 클레임 설명을 이 페더레이션 서비스에서 수락할 수 있는 클레임 유형으로 게시 확인란을 선택합니다.
    • 페더레이션 메타데이터의 이 클레임 설명을 이 페더레이션 서비스에서 보낼 수 있는 클레임 유형으로 게시 확인란을 선택합니다.
  5. 확인을 선택합니다.

신뢰 당사자 트러스트 추가

  1. AD FS 서버에서 도구>AD FS 관리로 이동합니다.

  2. 탐색 창에서 신뢰 당사자 트러스트를 선택합니다.

  3. 작업에서 신뢰 당사자 트러스트 추가를 선택합니다.

  4. 신뢰 당사자 트러스트 추가 마법사에서 클레임 인식을 선택한 후 시작을 선택합니다.

  5. 데이터 원본 선택 섹션에서 온라인으로 또는 로컬 네트워크로 게시한 신뢰 당사자 관련 데이터 가져오기 확인란을 선택합니다. 페더레이션 메타데이터 URL(https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml)을 입력합니다. 다음을 선택합니다.

  6. 다른 설정은 기본 옵션으로 둡니다. 계속해서 다음을 선택하고 마지막으로 닫기를 선택하여 마법사를 닫습니다.

  7. AD FS 관리신뢰 당사자 트러스트에서 방금 만든 신뢰 당사자 트러스트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  8. 모니터링 탭에서 신뢰 당사자 모니터링 확인란의 선택을 취소합니다.

  9. 식별자 탭에서 서비스 파트너의 Microsoft Entra 테넌트의 테넌트 ID를 사용하여 신뢰 당사자 식별자 텍스트 상자에 https://login.microsoftonline.com/<tenant ID>/를 입력합니다. 추가를 선택합니다.

    참고 항목

    테넌트 ID 다음에 슬래시(/)를 포함해야 합니다(예: https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/).

  10. 확인을 선택합니다.

클레임 규칙 만들기

  1. 생성된 신뢰 당사자 트러스트를 마우스 오른쪽 단추로 클릭한 후 클레임 발급 정책 편집을 선택합니다.

  2. 클레임 규칙 편집 마법사에서 규칙 추가를 선택합니다.

  3. 클레임 규칙 템플릿에서 LDAP 특성을 클레임으로 전송을 선택합니다.

  4. 클레임 규칙 구성에서 다음 값을 지정합니다.

    • 클레임 규칙 이름: 메일 클레임 규칙
    • 특성 저장소: Active Directory
    • LDAP 특성: 메일 주소
    • 발신 클레임 유형: 메일 주소
  5. 마침을 선택합니다.

  6. 규칙 추가를 선택합니다.

  7. 클레임 규칙 템플릿에서 들어오는 클레임 변환을 선택한 후 다음을 선택합니다.

  8. 클레임 규칙 구성에서 다음 값을 지정합니다.

    • 클레임 규칙 이름: 메일 변환 규칙
    • 수신 클레임 유형: 메일 주소
    • 발신 클레임 유형: 이름 ID
    • 발신 이름 ID 형식: 영구 식별자
    • 모든 클레임 값 통과를 선택합니다.
  9. 마침을 선택합니다.

  10. 클레임 규칙 편집 창에 새 규칙이 표시됩니다. 적용을 선택합니다.

  11. 확인을 선택합니다. 이제 SAML 2.0 프로토콜을 사용하여 페더레이션할 수 있도록 AD FS 서버가 구성되었습니다.

WS-Fed 직접 페더레이션을 위해 AD FS 구성

Microsoft Entra B2B는 아래 나열된 특정 요구 사항에 따라 WS-Fed 프로토콜을 사용하는 IdP와 페더레이션하도록 구성할 수 있습니다. 현재 두 개의 WS-Fed 공급자는 AD FS 및 Shibboleth를 포함하여 Microsoft Entra 외부 ID와의 호환성 테스트를 거쳤습니다. 여기서는 WS-Fed IdP의 예로 AD FS(Active Directory Federation Services)를 사용합니다. Microsoft Entra 외부 ID를 사용하는 WS-Fed 호환 공급자 간에 신뢰 당사자 트러스트를 설정하는 방법에 대한 자세한 내용을 보려면 Microsoft Entra ID 공급자 호환성 문서를 다운로드합니다.

페더레이션을 설정하려면 IdP의 WS-Fed 메시지에서 다음 특성을 받아야 합니다. 이러한 특성은 온라인 보안 토큰 서비스 XML 파일에 연결하거나 수동으로 입력하여 구성할 수 있습니다. 테스트 AD FS 인스턴스 만들기의 12단계에서는 AD FS 엔드포인트를 찾는 방법 또는 메타데이터 URL(예: https://fs.iga.azure-test.net/federationmetadata/2007-06/federationmetadata.xml)을 생성하는 방법을 설명합니다.

attribute
PassiveRequestorEndpoint https://login.microsoftonline.com/login.srf
사용자 urn:federation:MicrosoftOnline
발급자 파트너 IdP의 발급자 URI입니다(예: http://www.example.com/exk10l6w90DHM0yi...).

IdP에서 발급한 WS-Fed 토큰에 필요한 클레임은 다음과 같습니다.

attribute
ImmutableID http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID
emailaddress http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

다음 섹션에서는 WS-Fed IdP를 예로 들어 AD FS를 사용해서 필요한 특성 및 클레임을 구성하는 방법을 보여줍니다.

시작하기 전에

이 절차를 시작하기 전에 AD FS 서버가 이미 설정되어 작동 중이어야 합니다.

신뢰 당사자 트러스트 추가

  1. AD FS 서버에서 도구>AD FS 관리로 이동합니다.

  2. 탐색 창에서 트러스트 관계>신뢰 당사자 트러스트를 선택합니다.

  3. 작업에서 신뢰 당사자 트러스트 추가를 선택합니다.

  4. 신뢰 당사자 트러스트 추가 마법사에서 클레임 인식을 선택한 다음, 시작을 선택합니다.

  5. 데이터 원본 선택 섹션에서 수동으로 신뢰 당사자 관련 데이터 입력을 선택하고, 다음을 선택합니다.

  6. 표시 이름 지정 페이지에서 표시 이름에 이름을 입력합니다. 필요에 따라 참고 섹션에 이 신뢰 당사자 트러스트에 대한 설명을 입력할 수 있습니다. 다음을 선택합니다.

  7. 필요에 따라 인증서 구성 페이지에서 토큰 암호화 인증서가 있는 경우 찾아보기를 선택하여 인증서 파일을 찾습니다. 다음을 선택합니다.

  8. URL 구성 페이지에서 WS-Federation 수동 프로토콜 지원 사용 확인란을 선택합니다. 신뢰 당사자 WS-Federation 수동 프로토콜 URL에서 다음 URL을 입력합니다. https://login.microsoftonline.com/login.srf

  9. 다음을 선택합니다.

  10. 식별자 구성 페이지에서 다음 URL을 입력하고 추가를 선택합니다. 두 번째 URL에는 서비스 파트너의 Microsoft Entra 테넌트의 테넌트 ID를 입력합니다.

    • urn:federation:MicrosoftOnline
    • https://login.microsoftonline.com/<tenant ID>/

    참고 항목

    테넌트 ID 다음에 슬래시(/)를 포함해야 합니다(예: https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/).

  11. 다음을 선택합니다.

  12. 액세스 제어 정책 선택 페이지에서 정책을 선택한 다음, 다음을 선택합니다.

  13. 트러스트 추가 준비 완료 페이지에서 설정을 검토한 다음, 다음을 선택하여 신뢰 당사자 트러스트 정보를 저장합니다.

  14. 마침 페이지에서 닫기를 선택합니다. 신뢰 당사자 트러스트를 선택하고 클레임 발급 정책 편집을 선택합니다.

클레임 규칙 만들기

  1. 방금 만든 신뢰 당사자 트러스트를 선택한 다음, 클레임 발급 정책 편집을 선택합니다.

  2. 규칙 추가를 선택합니다.

  3. LDAP 특성을 클레임으로 전송을 선택한 다음, 다음을 선택합니다.

  4. 클레임 규칙 구성에서 다음 값을 지정합니다.

    • 클레임 규칙 이름: 메일 클레임 규칙
    • 특성 저장소: Active Directory
    • LDAP 특성: 메일 주소
    • 발신 클레임 유형: 메일 주소
  5. 마침을 선택합니다.

  6. 동일한 클레임 규칙 편집 마법사에서 규칙 추가를 선택합니다.

  7. 사용자 지정 규칙을 사용하여 클레임 보내기를 선택한 다음, 다음을 선택합니다.

  8. 클레임 규칙 구성에서 다음 값을 지정합니다.

    • 클레임 규칙 이름: 변경 불가능한 ID 발급
    • 사용자 지정 규칙: c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"), query = "samAccountName={0};objectGUID;{1}", param = regexreplace(c.Value, "(?<domain>[^\\]+)\\(?<user>.+)", "${user}"), param = c.Value);
  9. 마침을 선택합니다.

  10. 확인을 선택합니다. 이제 WS-Fed를 사용하여 페더레이션할 수 있도록 AD FS 서버가 구성되었습니다.

다음 단계

다음으로, Azure Portal 또는 Microsoft Graph API를 사용하여 Microsoft Entra 외부 ID SAML/WS-Fed IdP 페더레이션을 구성합니다.