共用方式為


為外部租用戶中的應用程式啟用自訂 URL 網域 (預覽)

適用於具有灰色 X 符號的白色圓圈。 員工租用戶 具有白色核取符號的綠色圓圈。 外部租用戶 (深入了解)

本文說明如何為外部租用戶中的 Microsoft Entra 外部 ID 應用程式啟用自訂 URL 網域。 自訂 URL 網域可讓您使用您自己的自訂 URL 網域,將應用程式的登入端點品牌化,而不是使用 Microsoft 的預設網域名稱。

重要

此功能目前為預覽功能。 請參閱線上服務通用授權條款,以了解適用於技術預覽版、預覽版或未正式推出的 Azure 功能和服務的法律條款。

必要條件

步驟 1:將自訂網域名稱新增至租用戶

當您建立外部租用戶時,附帶的初始網域名稱為 <domainname>.onmicrosoft.com。 您無法變更或刪除初始網域名稱,但可以新增您自己的自訂網域名稱。 若要執行這些步驟,請務必在 Microsoft Entra 系統管理中心登入您的外部租用戶設定。

  1. 以至少是網域名稱管理員的身分登入 Microsoft Entra 系統管理中心

  2. 選擇您的「外部」租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至您的外部租用戶。

  3. 瀏覽至 [身分識別]>[設定]>[網域名稱]>[自訂網域名稱]

  4. 將自訂網域名稱新增至 Microsoft Entra ID。

  5. 將 DNS 資訊新增至網域註冊機構。 將自訂網域名稱新增至您的租用戶之後,請為您的網域建立 DNS TXTMX 記錄。 為您的網域建立此 DNS 記錄可確認網域名稱的所有權。

    下列是 login.contoso.comaccount.contoso.com 的 TXT 記錄範例:

    名稱 (主機名稱) 類型 資料
    login TXT MS=ms12345678
    account TXT MS=ms87654321

    TXT 記錄必須與網域的子網域或主機名稱相關聯 (例如,contoso.com 網域的「登入」部分)。 如果主機名稱是空白或 @,則 Microsoft Entra ID 無法驗證您新增的自訂網域名稱。

    提示

    您可以使用任何公開可用的 DNS 服務來管理自訂網域名稱,例如 GoDaddy。 如果沒有 DNS 伺服器,您可以使用 Azure DNS 區域App Service 網域

  6. 驗證自訂網域名稱。 驗證您打算使用的每個子網域 (即主機名稱)。 例如,為了能夠透過 login.contoso.comaccount.contoso.com 登入,您必須驗證這兩個子網域,而不是頂層網域 contoso.com

    重要

    確認網域之後,請刪除您建立的 DNS TXT 記錄。

步驟 2:將自訂自訂網域名稱與自訂 URL 網域產生關聯

在您新增並驗證外部租用戶中的自訂網域名稱之後,請建立自訂網域名稱與自訂 URL 網域的關聯。

  1. 登入 Microsoft Entra 系統管理中心。

  2. 選擇您的「外部」租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至您的外部租用戶。

  3. 瀏覽至 [身分識別]>[設定]>[網域名稱]>[自訂 URL 網址 (預覽)]

  4. 選取 [新增自訂 URL 網域]

  5. 在 [新增自訂 URL 網域] 窗格中,選取您在步驟 1 中輸入的自訂網域名稱。

    顯示 [新增自訂 URL 網域] 窗格的螢幕擷取畫面。

  6. 選取 [新增]。

步驟 3:新建 Azure Front Door 執行個體

請遵循下列步驟來建立 Azure Front Door:

  1. 登入 Azure 入口網站

  2. 選擇包含 Azure Front Door 訂用帳戶的租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至包含 Azure Front Door 訂用帳戶的租用戶。

  3. 請遵循建立 Front Door 設定檔 - 快速建立中的步驟,使用下列設定為您的租用戶建立 Front Door。 將 [快取] 和 [WAF 原則] 設定保留空白。

    機碼
    訂用帳戶 選取 Azure 訂閱。
    資源群組 選取現有的資源群組或建立新群組。
    名稱 為您的設定檔命名,例如 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 記錄項目,並完成下表說明的欄位。

    來源 類型 Destination
    <login.contoso.com> CNAME contoso-frontend.azurefd.net
    • 來源:輸入自訂 URL 網域 (例如 login.contoso.com)。

    • 類型:輸入 CNAME

    • 目的地:輸入您在步驟 2 建立的預設 Front Door 前端主機。 必須使用下列格式:<主機名稱>.azurefd.net,例如 contoso-frontend.azurefd.net

  4. 儲存您的變更。

4.2. 將自訂 URL 網域與 Front Door 建立關聯

  1. 在 Azure 入口網站首頁中,搜尋並選取 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 入口網站中。 在您剛才新增網域的 [端點關聯] 下,選取 [未關聯]

  9. 針對 [選取端點],從下拉式清單中選取主機名稱端點。

  10. 針對 [選取路由] 清單,選取 [預設路由],然後選取 [關聯]

4.3. 啟用路由

預設路由會將流量從用戶端傳送至 Azure Front Door。 然後,Azure Front Door 會使用您的設定將流量傳送至外部租用戶。 請遵循下列步驟來啟用預設路由。

  1. 選取 [Front Door 管理員]

  2. 若要啟用預設路由,請先從 Front Door 管理員中的端點清單展開端點。 然後,選取預設路由

  3. 選取 [啟用路由] 核取方塊。

  4. 選取 [更新] 以儲存變更。

測試您的自訂 URL 網域

  1. 登入 Microsoft Entra 系統管理中心。

  2. 選擇您的「外部」租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至您的外部租用戶。

  3. 在 [外部身分識別] 底下,選取 [使用者流程]

  4. 選取使用者流程,然後選取 [執行使用者流程]

  5. 針對 [應用程式],選取您先前註冊名為 webapp1 的 Web 應用程式。 Reply 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 換成您的租用戶名稱或租用戶識別碼

SAML 服務提供者中繼資料如下列範例所示:

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

(選用) 使用租用戶識別碼

您可以將 URL 中的外部租用戶名稱換成租用戶識別碼 GUID,以移除 URL 中對 “onmicrosoft.com” 的所有參考。 您可以在 Azure 入口網站或 Microsoft Entra 系統管理中心的 [概觀] 頁面中找到租用戶識別碼 GUID。 例如,將 https://account.contosobank.co.uk/contosobank.onmicrosoft.com/ 變更為 https://account.contosobank.co.uk/<tenant-ID-GUID>/

如果您選擇使用租用戶識別碼,而不是租用戶名稱,請務必據以更新識別提供者 OAuth 重新導向 URI。 當您使用租用戶識別碼而非租用戶名稱時,有效的 OAuth 重新導向 URI 看起來會類似下列範例:

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

(選用) Azure Front Door 進階設定

您可以使用 Azure Front Door 進階設定,例如 Azure Web 應用程式防火牆 (WAF)。 Azure WAF 可集中保護 Web 應用程式,使其免於遭遇常見的攻擊和弱點。

使用自訂網域時,請考慮下列幾點:

  • WAF 原則必須與 Azure Front Door 設定檔位於相同的階層。 若要深入了解如何建立與 Azure Front Door 搭配使用的 WAF 原則,請參閱設定 WAF 原則
  • WAF 受控規則功能並未正式支援,因為它可能會導致誤判,並防止合法要求通過,因此請在符合您的需求時才使用 WAF 自訂規則。

疑難排解

  • 找不到頁面訊息。 當您嘗試使用自訂 URL 網域登入時,出現 HTTP 404 錯誤訊息。 此問題可能與 DNS 設定或 Azure Front Door 後端設定有關。 請嘗試下列步驟:

    • 請確定已在租用戶中註冊並成功驗證自訂 URL 網域。
    • 請確定已正確設定自訂網域。 自訂網域的 CNAME 記錄必須指向 Azure Front Door 預設前端主機 (例如,contoso-frontend.azurefd.net)。
  • 我們的服務目前無法使用的訊息。 當您嘗試使用自訂 URL 網域登入時,出現錯誤訊息:我們的服務目前無法使用。我們正在儘快還原所有服務。請稍後再回來查看。此問題可能與 Azure Front Door 路由設定有關。 檢查預設路由的狀態。 如果已停用,請啟用路由

  • 資源已移除、變更名稱或暫時無法使用。 當您嘗試透過自訂 URL 網域登入時,出現錯誤訊息:「您尋找的資源已移除、變更名稱,或暫時無法使用」。 此問題可能與 Microsoft Entra 自訂網域驗證有關。 請確定已在租用戶中註冊並成功驗證自訂網域。

  • 錯誤碼 399265:RoutingFromInvalidHost。 當租用戶從未經驗證的網域提出要求時,就會出現此錯誤碼。 請務必在 DNS 記錄中新增 TXT 記錄詳細資料。 然後再次驗證自訂網域名稱

  • 錯誤碼 399280:InvalidCustomUrlDomain。 當租用戶從不是自訂 URL 網域的已驗證網域提出要求時,就會出現此錯誤碼。 請務必將自訂網域名稱與自訂 URL 網域產生關聯

下一步

請參閱為外部 ID 建置應用程式的所有範例指南和教學課程