共用方式為


為外部租使用者中的應用程式啟用自定義URL網域

適用於灰色 X 符號的白色圓圈。 員工租戶 綠色圓圈內有白色勾勾標記。 外部租戶(深入了解)

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

必要條件

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

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

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

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

  3. 流覽至 Entra ID>網域名稱>自訂網域名稱

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

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

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

    名稱 (主機名稱) 類型 資料
    登錄 TXT MS=ms12345678
    帳戶 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. 流覽至 Entra ID>網域名稱>自訂 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 記錄項目,並完成下表說明的欄位。

    來源 類型 目的地
    <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. 將自訂網址網域與 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 manager

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

  3. 選取 [已啟用路由 ] 複選框。

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

測試您的自訂 URL 網域

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

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

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

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

  5. 針對 [應用程式],選取您先前註冊的 Web 應用程式名為 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

取代:

  • 自訂網址域名 搭配您的自訂網址域名
  • 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 網域之後,使用者仍然可以存取預設網域名稱 <tenant-name>.ciamlogin.com。 您必須封鎖預設網域的存取,讓攻擊者無法使用它來存取您的應用程式,或執行分散式阻斷服務 (DDoS) 攻擊。 提交支援票證以要求封鎖預設網域的存取權。

謹慎

在您要求封鎖預設網域之前,請確定您的自定義網域可正常運作。 封鎖預設網域之後,某些功能將無法再運作。 請參閱 封鎖預設網域

疑難排解

  • 無法找到頁面訊息。 當您嘗試使用自訂 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 網域的已驗證網域提出要求時,就會出現此錯誤碼。 請務必 將自定義網域名稱與自定義網址網域產生關聯

下一步

請參閱我們所有的 範例指南和教學課程,瞭解如何建置取得外部 ID 的應用程式