适用于:
外部租户(了解详细信息)
自定义 URL 域让你可以使用自定义 URL 域(而不是 Microsoft 的默认域名)对应用程序的登录终结点进行品牌打造。
使用经过验证的自定义 URL 域有以下几个好处:
- 更统一的用户体验。 从用户角度来看,他们在登录过程中会留在你的域中,而不是被重定向到默认域 <tenant-name>.ciamlogin.com。
- 通过在登录期间使应用程序停留在同一域中,可以减轻第三方 Cookie 阻止的影响。
自定义 URL 域的原理
使用自定义 URL 域,可以将已验证的自定义 URL 域名用作应用程序的登录身份验证终结点。 添加新的自定义 URL 域名时,可以将它与自定义 URL 域相关联。 然后反向代理服务(例如 Azure Front Door)就可以使用自定义 URL 域导向应用程序的登录。
下图说明了 Azure Front Door 的集成方式:
- 用户在应用程序中选择“登录”按钮后将被转到登录页。 此页指定自定义 URL 域。
- Web 浏览器将自定义 URL 域解析到 Azure Front Door IP 地址。 在域名系统 (DNS) 解析过程中,一个带有自定义URL 域的规范名称 (CNAME) 记录将指向 Front Door 的默认前端主机(例如
contoso-frontend.azurefd.net)。 - 发至自定义 URL 域(例如
login.contoso.com)的流量将被路由到指定的 Front Door 默认前端主机 (contoso-frontend.azurefd.net)。 - Azure Front Door 使用
<tenant-name>.ciamlogin.com默认域调用内容。 对终结点的请求包含原始的自定义 URL 域。 - 外部 ID 通过显示相关内容和原始自定义 URL 域来响应请求。
Azure Front Door 传递用户的原始 IP 地址,即审核报告中看到的 IP 地址。
重要
如果客户端将 x-forwarded-for 标头发送到 Azure Front Door,外部 ID 则会将发起方的 x-forwarded-for 作为用户的 IP 地址用于条件访问评估和 {Context:IPAddress} 声明解析程序。
注意事项和限制
使用自定义 URL 域时:
- 可以设置多个自定义 URL 域。 有关支持的最大自定义 URL 域数,请参阅 Microsoft Entra 服务限制和Microsoft Entra 的限制 ,以及 Azure Front Door 的 Azure 订阅和服务限制、配额和约束 。
- 可以使用 Azure Front Door,这是一项单独的 Azure 服务,会产生额外费用。 有关详细信息,请参阅 Front Door 定价。 Azure Front Door 实例可以托管在非外部租户的订阅中。
- 如果有多个应用程序,请将它们全部迁移到自定义 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 域。 |