外部租户中的自定义 URL 域

适用于绿色圆圈,带有白色复选标记符号,指示以下内容适用于外部租户。 外部租户(了解详细信息

自定义 URL 域让你可以使用自定义 URL 域(而不是 Microsoft 的默认域名)对应用程序的登录终结点进行品牌打造。

展示外部 ID 自定义 URL 域用户体验的屏幕截图。

使用经过验证的自定义 URL 域有以下几个好处:

  • 更统一的用户体验。 从用户角度来看,他们在登录过程中会留在你的域中,而不是被重定向到默认域 <tenant-name>.ciamlogin.com
  • 通过在登录期间使应用程序停留在同一域中,可以减轻第三方 Cookie 阻止的影响。

自定义 URL 域的原理

使用自定义 URL 域,可以将已验证的自定义 URL 域名用作应用程序的登录身份验证终结点。 添加新的自定义 URL 域名时,可以将它与自定义 URL 域相关联。 然后反向代理服务(例如 Azure Front Door)就可以使用自定义 URL 域导向应用程序的登录。

下图说明了 Azure Front Door 的集成方式:

显示 Azure Front Door 与外部 ID 集成的关系图。

  1. 用户在应用程序中选择“登录”按钮后将被转到登录页。 此页指定自定义 URL 域。
  2. Web 浏览器将自定义 URL 域解析到 Azure Front Door IP 地址。 在域名系统 (DNS) 解析过程中,一个带有自定义URL 域的规范名称 (CNAME) 记录将指向 Front Door 的默认前端主机(例如 contoso-frontend.azurefd.net)。
  3. 发至自定义 URL 域(例如 login.contoso.com)的流量将被路由到指定的 Front Door 默认前端主机 (contoso-frontend.azurefd.net)。
  4. Azure Front Door 使用 <tenant-name>.ciamlogin.com 默认域调用内容。 对终结点的请求包含原始的自定义 URL 域。
  5. 外部 ID 通过显示相关内容和原始自定义 URL 域来响应请求。

Azure Front Door 传递用户的原始 IP 地址,即审核报告中看到的 IP 地址。

重要

如果客户端将 x-forwarded-for 标头发送到 Azure Front Door,外部 ID 则会将发起方的 x-forwarded-for 作为用户的 IP 地址用于条件访问评估和 {Context:IPAddress} 声明解析程序。

注意事项和限制

使用自定义 URL 域时:

重要

  • Azure Front Door:从浏览器到 Azure Front Door 的连接应始终使用 IPv4 而不是 IPv6。
  • 社交标识提供者:除了 Apple 之外,自定义 URL 域现在还支持 Google 和 Facebook。

阻止默认域名

为了提高安全性,我们建议阻止默认域。 配置好自定义 URL 域后,用户仍能够访问默认域名<tenant-name>.ciamlogin.com。 你需要阻止对默认域的访问,以便攻击者无法使用它访问应用或运行分布式拒绝服务 (DDoS) 攻击。 若要阻止访问默认域, 请打开支持票证 并提交请求。

注意

在提交阻止默认域的请求之前,请确保自定义 URL 域正常工作。

功能影响和解决方法

阻止默认域将禁用依赖于它的某些功能。 但是,您可以通过使用自定义 URL 域来配置以下表格中的功能,从而保持这些功能的正常运作。

功能 / 特点 解决方法
立即运行 在 Microsoft Entra 管理中心,用您的自定义 URL 域更新“开始使用”指南中“立即运行”功能和用户流面板使用的 URL。 在浏览器 URL 中,将 {your_domain}.ciamlogin.com 替换为您的自定义 URL 域 {your_custom_URL_domain}/{your_tenant_ID}
入门示例 使用自定义 URL 域在入门指南中配置示例。 有关详细说明,请参阅每个示例的文档。 例如,请参阅 Vanilla JavaScript 单页应用教程中的“使用自定义 URL 域”部分。
具有外部 ID 的 Power Pages 外部 ID 用于 Power Pages 网站时,请使用自定义 URL 域更新网站设置。 在 Power Pages 标识提供者配置页中,将包含 {your_domain}.ciamlogin.com的“颁发机构 URL”字段替换为自定义 URL 域 {your_custom_URL_domain}/{your_tenant_ID}
具有外部 ID 的 Azure 应用服务 在将 外部 ID 与 Azure 应用服务 配合使用时,编辑标识提供者,并将颁发者 URL 字段从 {your_domain}.ciamlogin.com 更改为自定义 URL 域 {your_custom_URL_domain}/{your_tenant_ID}
Visual Studio Code 扩展 Visual Studio Code 扩展中,将自定义 URL 域添加到应用程序的 MSAL 配置中,使应用程序和“立即运行”功能正常工作。 将身份验证配置文件中的颁发机构从 {your_domain}.ciamlogin.com 中更改为 {your_custom_URL_domain}/{your_tenant_ID},并使用自定义 URL 域添加已知颁发机构。
具有外部 ID 的 Visual Studio 在 appsettings.json 文件中,添加自定义 URL 域,然后添加租户 ID,并使用自定义 URL 域添加已知颁发机构。
GitHub 示例 某些示例(例如 使用 Microsoft Entra Authentication(Python)的 OpenAI 聊天应用程序)需要自定义 URL 域。 设置示例时,请将AZURE_AUTH_LOGIN_ENDPOINT设置为自定义 URL 域。

后续步骤

为 Microsoft Entra 外部 ID 启用自定义 URL 域