다음을 통해 공유


외부 테넌트에서 앱에 대한 사용자 지정 URL 도메인 사용

적용: 회색 X 기호가 있는 흰색 원. Workforce 테넌트 흰색 확인 표시 기호가 있는 녹색 원. 외부 테넌트(자세히 알아보기)

이 문서에서는 외부 테넌트의 Microsoft Entra 외부 ID 애플리케이션에 대해 사용자 지정 URL 도메인을 사용하도록 설정하는 방법을 설명합니다. 사용자 지정 URL 도메인을 사용하면 Microsoft의 기본 도메인 이름 대신 사용자 지정 URL 도메인으로 애플리케이션의 로그인 엔드포인트를 브랜딩할 수 있습니다.

필수 조건

1단계: 테넌트에 사용자 지정 도메인 이름 추가

외부 테넌트를 만들면 초기 도메인 이름인 <domainname>.onmicrosoft.com이 제공됩니다. 초기 도메인 이름을 변경하거나 삭제할 수는 없지만 자체 사용자 지정 도메인 이름을 추가할 수는 있습니다. 이 단계를 수행하려면 Microsoft Entra 관리 센터에서 외부 테넌트 구성에 로그인해야 합니다.

  1. 최소한 도메인 이름 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. 외부 테넌트 선택: 상단 메뉴에서 설정 아이콘을 선택한 다음 외부 테넌트로 전환합니다.

  3. ID>설정>도메인 이름>사용자 지정 도메인 이름으로 이동합니다.

  4. 사용자 지정 도메인 이름을 Microsoft Entra ID에 추가합니다.

  5. 도메인 등록 기관에 DNS 정보를 추가합니다. 테넌트에 사용자 지정 도메인 이름을 추가한 후 도메인에 대한 DNS TXT 또는 MX 레코드를 만듭니다. 도메인의 이 DNS 레코드를 만들면 도메인 이름의 소유권이 확인됩니다.

    다음은 login.contoso.comaccount.contoso.com에 대한 TXT 레코드의 예입니다.

    이름(호스트 이름) Type 데이터
    login TXT MS=ms12345678
    어카운트 TXT MS=ms87654321

    TXT 레코드는 도메인의 하위 도메인 또는 호스트 이름과 연결되어야 합니다(예: contoso.com 도메인의 login 부분). 호스트 이름이 비어 있거나 @인 경우 Microsoft Entra ID는 추가한 사용자 지정 도메인 이름을 확인할 수 없습니다.

    GoDaddy와 같이 공개적으로 사용할 수 있는 DNS 서비스를 사용하여 사용자 지정 도메인 이름을 관리할 수 있습니다. DNS 서버가 없는 경우 Azure DNS 영역 또는 App Service 도메인을 사용할 수 있습니다.

  6. 사용자 지정 도메인 이름을 확인합니다. 사용할 계획인 각 하위 도메인이나 호스트 이름을 확인합니다. 예를 들어 login.contoso.comaccount.contoso.com을 사용하여 로그인하려면 최상위 도메인인 contoso.com뿐만 아니라 하위 도메인을 모두 확인해야 합니다.

    Important

    도메인을 확인한 후에는 만든 DNS TXT 레코드를 삭제합니다.

2단계: 사용자 지정 도메인 이름을 사용자 지정 URL 도메인과 연결

외부 테넌트에 사용자 지정 도메인 이름을 추가하고 확인한 후 사용자 지정 도메인 이름을 사용자 지정 URL 도메인과 연결합니다.

  1. Microsoft Entra 관리 센터에 로그인합니다.

  2. 외부 테넌트 선택: 상단 메뉴에서 설정 아이콘을 선택한 다음 외부 테넌트로 전환합니다.

  3. ID>설정>도메인 이름>사용자 지정 URL 도메인이동하세요.

  4. 사용자 지정 URL 도메인 추가를 선택합니다.

  5. 사용자 지정 URL 도메인 추가 창에서 1단계에서 입력한 사용자 지정 도메인 이름을 선택합니다.

    사용자 지정 URL 도메인 추가 창을 보여 주는 스크린샷.

  6. 추가를 선택합니다.

3단계: 새 Azure Front Door 인스턴스 만들기

다음 단계에 따라 Azure Front Door를 만듭니다.

  1. Azure Portal에 로그인합니다.

  2. Azure Front Door 구독이 포함된 테넌트 선택: 상단 메뉴에서 설정 아이콘을 선택한 다음 Azure Front Door 구독이 포함된 테넌트로 전환합니다.

  3. Front Door 프로필 만들기 - 빨리 만들기의 단계에 따라 다음 설정을 사용하여 테넌트에 대한 Front Door를 만듭니다. 캐싱WAF 정책 설정을 비워 둡니다.

    Subscription Azure 구독을 선택합니다.
    Resource group 기존 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.
    이름 프로젝트 이름을 지정합니다(예: ciamazurefrontdoor).
    서비스 계층 표준 또는 프리미엄 계층을 선택합니다. 표준 계층은 콘텐츠 배달에 최적화되어 있습니다. 프리미엄 계층은 표준 계층을 기반으로 하며 보안에 중점을 둡니다. 계층 비교를 참조하세요.
    끝점 이름 엔드포인트의 전역적으로 고유한 이름을 입력합니다(예: ciamazurefrontdoor). 엔드포인트 호스트 이름이 자동으로 생성됩니다.
    기원 타입 Custom(을)를 선택합니다.
    원본 호스트 이름 <tenant-name>.ciamlogin.com를 입력합니다. <tenant-name>을 테넌트 이름으로 바꿉니다(예: contoso.ciamlogin.com).
  4. Azure Front Door 리소스가 만들어지면 개요를 선택하고 이후 단계에서 사용할 수 있도록 엔드포인트 호스트 이름을 복사합니다. ciamazurefrontdoor-ab123e.z01.azurefd.net과 같이 표시됩니다.

  5. 원본의 호스트 이름원본 호스트 헤더의 값이 같은지 확인합니다.

    1. 설정에서 원본 그룹을 선택합니다.
    2. 목록에서 원본 그룹(예: default-origin-group)을 선택합니다.
    3. 오른쪽 창에서 원본 호스트 이름(예: contoso.ciamlogin.com)을 선택합니다.
    4. 원본 업데이트 창에서 호스트 이름원본 호스트 헤더를 동일한 값으로 업데이트합니다.

    호스트 이름 및 원본 호스트 헤더 필드를 보여 주는 스크린샷.

4단계: Azure Front Door에 사용자 지정 URL 도메인 설정

이 단계에서는 1단계에서 등록한 사용자 지정 URL 도메인을 Azure Front Door에 추가합니다.

4.1. CNAME DNS 레코드 만들기

사용자 지정 URL 도메인을 추가하려면 도메인 공급자를 사용하여 CNAME(정식 이름) 레코드를 만듭니다. CNAME 레코드는 원본 도메인을 대상 도메인 이름(별칭)에 매핑하는 DNS 레코드의 형식입니다. Azure Front Door의 경우 원본 도메인 이름은 사용자 지정 URL 도메인 이름이고, 대상 도메인 이름은 2단계에서 구성한 Front Door 기본 호스트 이름입니다(예: ciamazurefrontdoor-ab123e.z01.azurefd.net).

Front Door가 사용자가 만든 CNAME 레코드를 확인하면, 원본 사용자 지정 URL 도메인(예: login.contoso.com)에 전달되는 트래픽은 지정된 대상 Front Door 기본 프런트 엔드 호스트(예: contoso-frontend.azurefd.net)로 라우팅됩니다. 자세한 내용은 Front Door에 사용자 지정 도메인 추가를 참조하세요.

사용자 지정 도메인에 대한 CNAME 레코드를 만들려면:

  1. 사용자 지정 도메인에 대한 도메인 공급자의 웹 사이트에 로그인합니다.

  2. 공급자의 설명서를 참조하거나 이름이 도메인 이름, DNS, 또는 이름 서버 관리인 웹 사이트 부분을 검색하여 DNS 레코드 관리 페이지를 찾습니다.

  3. 사용자 지정 URL 도메인에 대한 CNAME 레코드 항목을 만들고 다음 표에 표시된 대로 필드를 완료합니다.

    Source Type 대상
    <login.contoso.com> CNAME contoso-frontend.azurefd.net
    • 원본: 사용자 지정 URL 도메인(예: login.contoso.com)을 입력합니다.

    • 형식: CNAME를 입력합니다.

    • 대상: 2단계에서 만든 기본 Front Door 프런트 엔드 호스트를 입력합니다. <hostname>.azurefd.net 형식이어야 합니다(예: contoso-frontend.azurefd.net).

  4. 변경 내용을 저장합니다.

4.2. 사용자 지정 URL 도메인을 Front Door와 연결

  1. Azure Portal 홈에서 ciamazurefrontdoor Azure Front Door 리소스를 검색하여 선택하여 엽니다.

  2. 왼쪽 메뉴의 설정에서 도메인을 선택합니다.

  3. 도메인 추가를 선택합니다.

  4. DNS 관리의 경우 다른 모든 DNS 서비스를 선택합니다.

  5. 사용자 지정 도메인의 경우 사용자 지정 도메인(예: login.contoso.com)을 입력합니다.

  6. 다른 값을 기본값으로 유지하고 추가를 선택합니다. 사용자 지정 도메인이 목록에 추가됩니다.

  7. 방금 추가한 도메인의 유효성 검사 상태에서 보류 중을 선택합니다. TXT 레코드 정보가 있는 창이 열립니다.

    1. 사용자 지정 도메인에 대한 도메인 공급자의 웹 사이트에 로그인합니다.

    2. 공급자의 설명서를 참조하거나 이름이 도메인 이름, DNS, 또는 이름 서버 관리인 웹 사이트 부분을 검색하여 DNS 레코드 관리 페이지를 찾습니다.

    3. 새 TXT DNS 레코드를 만들고 다음 필드를 완료합니다.

      • 이름: _dnsauth.contoso.com의 하위 도메인 부분만 입력합니다(예: _dnsauth).
      • 형식: TXT
      • : 예: 75abc123t48y2qrtsz2bvk......

      TXT DNS 레코드를 추가하면 Front Door 리소스의 유효성 검사 상태가 결국 보류 중에서 승인됨으로 변경됩니다. 변경 내용을 보려면 페이지를 새로 고쳐야 할 수도 있습니다.

  8. Azure Portal에서. 방금 추가한 도메인의 엔드포인트 연결 에서 연결되지 않음을 선택합니다.

  9. 엔드포인트 선택의 경우 드롭다운에서 호스트 이름 엔드포인트를 선택합니다.

  10. 경로 선택 목록에서 기본 경로를 선택한 다음 연결을 선택합니다.

4.3. 경로 사용

기본 경로는 클라이언트에서 Azure Front Door로 트래픽을 라우팅합니다. 그런 다음, Azure Front Door는 구성을 사용하여 트래픽을 외부 테넌트로 보냅니다. 기본 경로를 사용하도록 설정하려면 다음 단계를 따릅니다.

  1. Front Door 관리자를 선택합니다.

  2. 기본 경로를 사용하도록 설정하려면 먼저 Front Door 관리자의 엔드포인트 목록에서 엔드포인트를 확장합니다. 그런 다음 기본 경로를 선택합니다.

  3. 경로 사용 확인란을 선택합니다.

  4. 업데이트를 선택하여 변경 내용을 저장합니다.

사용자 지정 URL 도메인 테스트

  1. Microsoft Entra 관리 센터에 로그인합니다.

  2. 외부 테넌트 선택: 상단 메뉴에서 설정 아이콘을 선택한 다음 외부 테넌트로 전환합니다.

  3. 외부 ID에서 사용자 흐름을 선택합니다.

  4. 사용자 흐름을 선택한 다음 사용자 흐름 실행을 선택합니다.

  5. 애플리케이션으로 이전에 등록한 webapp1이라는 웹 애플리케이션을 선택합니다. 회신 URL에는 https://jwt.ms가 표시되어야 합니다.

  6. 사용자 흐름 엔드포인트 실행 아래에 있는 URL을 복사합니다.

    사용자 흐름 실행 옵션을 보여 주는 스크린샷.

  7. 사용자 지정 도메인을 사용하여 로그인을 시뮬레이션하려면 웹 브라우저를 열고 복사한 URL을 사용합니다. 도메인(<tenant-name>.ciamlogin.com)을 사용자 지정 도메인으로 바꿉니다.

    예를 들어 다음 식을 사용하는 대신

    https://contoso.ciamlogin.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
    

    다음을 사용합니다.

    https://login.contoso.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
    
  8. 로그인 페이지가 올바르게 로드되었는지 확인합니다. 그런 다음, 로컬 계정으로 로그인합니다.

애플리케이션 구성

사용자 지정 URL 도메인을 구성하고 테스트한 후 기본 도메인 대신 사용자 지정 URL 도메인을 호스트 이름으로 사용하여 URL을 로드하도록 애플리케이션을 업데이트합니다.

사용자 지정 URL 도메인 통합은 외부 ID 사용자 흐름을 사용하여 사용자를 인증하는 인증 엔드포인트에 적용됩니다. 이러한 엔드포인트의 형식은 다음과 같습니다.

  • https://<custom-url-domain>/<tenant-name>/v2.0/.well-known/openid-configuration

  • https://<custom-url-domain>/<tenant-name>/oauth2/v2.0/authorize

  • https://<custom-url-domain>/<tenant-name>/oauth2/v2.0/token

다음을

  • custom-url-domain을 사용자 지정 URL 도메인으로 바꿉니다.
  • tenant-name을 테넌트 이름 또는 테넌트 ID로

SAML 서비스 공급자 메타데이터는 다음 샘플과 유사할 수 있습니다.

https://custom-url-domain-name/tenant-name/Samlp/metadata

(선택 사항) 테넌트 ID 사용

URL의 외부 테넌트 이름을 테넌트 ID GUID로 바꿔 URL에서 "onmicrosoft.com"에 대한 모든 참조를 제거할 수 있습니다. Azure Portal 또는 Microsoft Entra 관리 센터의 개요 페이지에서 테넌트 ID GUID를 찾을 수 있습니다. 예를 들어 https://account.contosobank.co.uk/contosobank.onmicrosoft.com/https://account.contosobank.co.uk/<tenant-ID-GUID>/로 변경합니다.

테넌트 이름 대신 테넌트 ID를 사용하도록 선택하는 경우 ID 공급자의 OAuth 리디렉션 URI도 그에 따라 업데이트해야 합니다. 테넌트 이름 대신 테넌트 ID를 사용하는 경우 유효한 OAuth 리디렉션 URI는 다음 샘플과 유사합니다.

https://login.contoso.com/00001111-aaaa-2222-bbbb-3333cccc4444/oauth2/authresp 

(선택 사항) Azure Front Door 고급 구성

Azure Front Door 고급 구성(예: WAF(웹 애플리케이션 방화벽))을 사용할 수 있습니다. Azure WAF는 일반적인 악용과 취약성으로부터 웹 애플리케이션을 중앙 집중식으로 보호합니다.

사용자 지정 도메인을 사용하는 경우 다음 사항을 고려합니다.

  • WAF 정책은 Azure Front Door 프로필과 동일한 계층이어야 합니다. Azure Front Door에서 사용할 WAF 정책을 만드는 방법에 대한 자세한 내용은 WAF 정책 구성을 참조하세요.
  • WAF 관리 규칙 기능은 가양성 발생 및 합법적인 요청 통과를 방지할 수 있으므로 공식적으로 지원되지 않으므로 요구 사항을 충족하는 경우에만 WAF 사용자 지정 규칙을 사용합니다.

(선택 사항) 기본 도메인 차단

사용자 지정 URL 도메인을 구성한 후에도 사용자는 테넌트 이름.ciamlogin.com기본 도메인 이름에 계속 액세스할 수 있습니다. 공격자가 앱에 액세스하거나 DDoS(분산 서비스 거부) 공격을 실행하는 데 사용할 수 없도록 기본 도메인에 대한 액세스를 차단해야 합니다. 기본 도메인에 대한 액세스 차단을 요청하는 지원 티켓을 제출합니다.

주의

기본 도메인 차단을 요청하기 전에 사용자 지정 도메인이 제대로 작동하는지 확인합니다. 기본 도메인이 차단되면 특정 기능이 더 이상 작동하지 않습니다. 기본 도메인차단하는 참조하세요.

문제 해결

  • 페이지를 찾을 수 없음 메시지입니다. 사용자 지정 URL 도메인으로 로그인하려고 하면 HTTP 404 오류 메시지가 표시됩니다. 이 문제는 DNS 구성 또는 Azure Front Door 백 엔드 구성과 관련이 있을 수 있습니다. 다음 단계를 수행합니다.

    • 사용자 지정 URL 도메인이 테넌트에 등록되고 성공적으로 확인되었는지 확인합니다.
    • 사용자 지정 도메인을 올바르게 구성합니다. 사용자 지정 도메인의 CNAME 레코드는 Azure Front Door 기본 프런트 엔드 호스트(예: contoso-frontend.azurefd.net)를 가리켜야 합니다.
  • 현재 서비스를 사용할 수 없습니다 메시지입니다. 사용자 지정 URL 도메인으로 로그인하려고 하면 다음 오류 메시지가 표시됩니다. 현재 서비스를 사용할 수 없습니다. 가능한 한 빨리 모든 서비스를 복원하기 위해 노력하고 있습니다. 조금만 기다렸다가 다시 확인해 주세요. 이 문제는 Azure Front Door 경로 구성과 관련이 있을 수 있습니다. default-route의 상태를 확인합니다. 사용하지 않도록 설정된 경우 경로를 사용하도록 설정합니다.

  • 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다. 사용자 지정 URL 도메인으로 로그인하려고 하면 찾고 있는 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다라는 오류 메시지가 표시됩니다. 이 문제는 Microsoft Entra 사용자 지정 도메인 확인과 관련이 있을 수 있습니다. 사용자 지정 도메인이 테넌트에 등록되어 있고 성공적으로 확인되었는지 확인합니다.

  • 오류 코드 399265: RoutingFromInvalidHost. 이 오류 코드는 테넌트가 확인되지 않은 도메인에서 요청할 때 나타납니다. DNS 레코드에 TXT 레코드 세부 정보를 추가합니다. 그런 다음 다시 사용자 지정 도메인 이름을 확인합니다.

  • 오류 코드 399280: InvalidCustomUrlDomain. 이 오류 코드는 테넌트가 사용자 지정 URL 도메인이 아닌 확인된 도메인에서 요청할 때 나타납니다. 사용자 지정 도메인 이름을 사용자 지정 URL 도메인과 연결합니다.

다음 단계

외부 ID용 앱 빌드를 위한 샘플 가이드 및 자습서를 모두 참조하세요.