為外部租用戶中的應用程式啟用自訂 URL 網域 (預覽)
適用於: 員工租用戶 外部租用戶 (深入了解)
本文說明如何為外部租用戶中的 Microsoft Entra 外部 ID 應用程式啟用自訂 URL 網域。 自訂 URL 網域可讓您使用您自己的自訂 URL 網域,將應用程式的登入端點品牌化,而不是使用 Microsoft 的預設網域名稱。
重要
此功能目前為預覽功能。 請參閱線上服務通用授權條款,以了解適用於技術預覽版、預覽版或未正式推出的 Azure 功能和服務的法律條款。
必要條件
- 了解自訂 URL 網域如何在外部 ID 中運作。
- 如果您尚未建立外部租用戶,請立即建立一個租用戶。
- 建立使用者流程,讓使用者能夠註冊並登入您的應用程式。
- 註冊 Web 應用程式。
步驟 1:將自訂網域名稱新增至租用戶
當您建立外部租用戶時,附帶的初始網域名稱為 <domainname>.onmicrosoft.com。 您無法變更或刪除初始網域名稱,但可以新增您自己的自訂網域名稱。 若要執行這些步驟,請務必在 Microsoft Entra 系統管理中心登入您的外部租用戶設定。
以至少是網域名稱管理員的身分登入 Microsoft Entra 系統管理中心。
選擇您的「外部」租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至您的外部租用戶。
瀏覽至 [身分識別]>[設定]>[網域名稱]>[自訂網域名稱]。
將自訂網域名稱新增至 Microsoft Entra ID。
將 DNS 資訊新增至網域註冊機構。 將自訂網域名稱新增至您的租用戶之後,請為您的網域建立 DNS
TXT
或MX
記錄。 為您的網域建立此 DNS 記錄可確認網域名稱的所有權。下列是 login.contoso.com 和 account.contoso.com 的 TXT 記錄範例:
名稱 (主機名稱) 類型 資料 login TXT MS=ms12345678 account TXT MS=ms87654321 TXT 記錄必須與網域的子網域或主機名稱相關聯 (例如,contoso.com 網域的「登入」部分)。 如果主機名稱是空白或
@
,則 Microsoft Entra ID 無法驗證您新增的自訂網域名稱。提示
您可以使用任何公開可用的 DNS 服務來管理自訂網域名稱,例如 GoDaddy。 如果沒有 DNS 伺服器,您可以使用 Azure DNS 區域或 App Service 網域。
驗證自訂網域名稱。 驗證您打算使用的每個子網域 (即主機名稱)。 例如,為了能夠透過 login.contoso.com 和 account.contoso.com 登入,您必須驗證這兩個子網域,而不是頂層網域 contoso.com。
重要
確認網域之後,請刪除您建立的 DNS TXT 記錄。
步驟 2:將自訂自訂網域名稱與自訂 URL 網域產生關聯
在您新增並驗證外部租用戶中的自訂網域名稱之後,請建立自訂網域名稱與自訂 URL 網域的關聯。
選擇您的「外部」租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至您的外部租用戶。
瀏覽至 [身分識別]>[設定]>[網域名稱]>[自訂 URL 網址 (預覽)]。
選取 [新增自訂 URL 網域]。
在 [新增自訂 URL 網域] 窗格中,選取您在步驟 1 中輸入的自訂網域名稱。
選取 [新增]。
步驟 3:新建 Azure Front Door 執行個體
請遵循下列步驟來建立 Azure Front Door:
登入 Azure 入口網站。
選擇包含 Azure Front Door 訂用帳戶的租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至包含 Azure Front Door 訂用帳戶的租用戶。
請遵循建立 Front Door 設定檔 - 快速建立中的步驟,使用下列設定為您的租用戶建立 Front Door。 將 [快取] 和 [WAF 原則] 設定保留空白。
機碼 值 訂用帳戶 選取 Azure 訂閱。 資源群組 選取現有的資源群組或建立新群組。 名稱 為您的設定檔命名,例如 ciamazurefrontdoor
。層 選取標準或進階服務層級。 標準層是內容傳遞最佳化。 進階層級以標準層為基礎,並著重於安全性。 請參閱服務層級比較。 端點名稱 輸入端點的全域唯一名稱,例如 ciamazurefrontdoor
。 端點主機名稱會自動產生。原始類型 選取 Custom
。原點主機名稱 輸入 <tenant-name>.ciamlogin.com
。 將<tenant-name>
取代為您的租用戶名稱,例如contoso.ciamlogin.com
。建立 Azure Front Door 資源之後,請選取 [概觀],然後複製端點主機名稱,以用於後續步驟。 其看起來像
ciamazurefrontdoor-ab123e.z01.azurefd.net
。請確定來源的 [主機名稱] 和 [原始主機標頭] 是相同的值:
- 在 [設定] 下,選取 [原始群組]。
- 從清單中選取您的原始群組,例如 default-origin-group。
- 在右窗格中,選取 [原始主機名稱],例如
contoso.ciamlogin.com
。 - 在 [更新原始] 窗格中,將 [主機名稱] 和 [原始主機標頭] 更新為相同的值。
步驟 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 記錄:
登入自訂網域的網域提供者網站。
找到管理 DNS 記錄的頁面 (可查閱提供者的文件或,尋找網站上標示網域名稱、DNS 或名稱伺服器管理的區域)。
建立自訂 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.2. 將自訂 URL 網域與 Front Door 建立關聯
在 Azure 入口網站首頁中,搜尋並選取
ciamazurefrontdoor
Azure Front Door 資源以開啟。在 [設定] 下方的左側功能表中,選取 [網域]。
選取 [新增網域]。
針對 [DNS 管理],選取 [所有其他 DNS 服務]。
針對 [自訂網域],輸入您的自訂網域,例如
login.contoso.com
。將其他的值保留為預設值,然後選取 [新增]。 您的自訂網域會新增至清單。
在您剛才新增的網域 [驗證狀態] 下,選取 [擱置]。 開啟含有 TXT 記錄資訊的窗格。
登入自訂網域的網域提供者網站。
找到管理 DNS 記錄的頁面 (可查閱提供者的文件或,尋找網站上標示網域名稱、DNS 或名稱伺服器管理的區域)。
建立新的 TXT DNS 記錄並完成欄位:
- 名稱:只輸入
_dnsauth.contoso.com
的子網域部分,例如_dnsauth
- 類型:
TXT
- 值:例如
75abc123t48y2qrtsz2bvk......
新增 TXT DNS 記錄後,Front Door 資源中的 [驗證狀態] 最終會從 [擱置] 變更為 [已核准]。 您可能需要重新整理頁面,才能看到變更。
- 名稱:只輸入
在 Azure 入口網站中。 在您剛才新增網域的 [端點關聯] 下,選取 [未關聯]。
針對 [選取端點],從下拉式清單中選取主機名稱端點。
針對 [選取路由] 清單,選取 [預設路由],然後選取 [關聯]。
4.3. 啟用路由
預設路由會將流量從用戶端傳送至 Azure Front Door。 然後,Azure Front Door 會使用您的設定將流量傳送至外部租用戶。 請遵循下列步驟來啟用預設路由。
選取 [Front Door 管理員]。
若要啟用預設路由,請先從 Front Door 管理員中的端點清單展開端點。 然後,選取預設路由。
選取 [啟用路由] 核取方塊。
選取 [更新] 以儲存變更。
測試您的自訂 URL 網域
選擇您的「外部」租用戶:選取頂端功能表中的 [設定] 圖示,然後切換至您的外部租用戶。
在 [外部身分識別] 底下,選取 [使用者流程]。
選取使用者流程,然後選取 [執行使用者流程]。
針對 [應用程式],選取您先前註冊名為 webapp1 的 Web 應用程式。 Reply URL 應顯示
https://jwt.ms
。複製 [執行使用者流程端點] 之下的 URL。
若要模擬透過自訂網域登入,請開啟網頁瀏覽器並使用您複製的 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
確認登入頁面已正確載入。 然後,使用本機帳戶登入。
設定您的應用程式
設定並測試自訂 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 網域產生關聯。