Microsoft Entra 备份身份验证系统为使用受支持协议和流的应用程序提供复原能力。 有关备份身份验证系统的详细信息,请参阅 Microsoft Entra ID 的备份身份验证系统。
保护方面的应用程序要求
应用程序必须与给定 Azure 环境支持的主机名通信,并使用备份身份验证系统目前支持的协议。 使用身份验证库(例如 Microsoft 身份验证库 (MSAL)),确保使用备份身份验证系统支持的身份验证协议。
备份身份验证系统支持的主机名
Azure 环境 | 支持的主机名 |
---|---|
Azure 商业版 | login.microsoftonline.com |
Azure Government | login.microsoftonline.us |
备份身份验证系统支持的身份验证协议
OAuth 2.0 和 OpenID Connect (OIDC)
一般指导
为了确保复原能力,使用 Open Authorization (OAuth) 2.0 或 OIDC 协议的所有应用程序都应遵循以下做法:
- 应用程序使用 MSAL 或严格遵守 OpenID Connect & OAuth2 规范。 Microsoft 建议使用适合平台和用例的 MSAL 库。 使用这些库可确保备份身份验证系统支持使用 API 和调用模式。
- 应用程序在获取访问令牌时使用一组固定的作用域,而不是动态同意。
- 应用程序不使用资源所有者密码凭据授予。 对于任何客户端类型,备份身份验证系统都不支持此授权类型。 Microsoft 强烈建议切换到备用授权流,以提高安全性和复原能力。
- 应用程序不依赖于 UserInfo 终结点。 切换到改用 ID 令牌可消除最多两个网络请求,从而减少延迟,并使用备份身份验证系统中对 ID 令牌复原能力的现有支持。
本机应用程序
本机应用程序是直接在桌面或移动设备上(而不是在 Web 浏览器中)运行的公共客户端应用程序。 在应用程序注册过程中,它们在 Microsoft Entra 管理中心内或 Azure 门户上注册为公共客户端。
当以下所有条件都成立时,本机应用程序受备份身份验证系统保护:
- 应用程序将令牌缓存保留至少三天。 应用程序应使用设备的令牌缓存位置或令牌缓存序列化 API 来保留令牌缓存,即使用户关闭应用程序也是如此。
- 应用程序利用 MSAL AcquireTokenSilent API,使用缓存的刷新令牌来检索令牌。 如果需要用户交互,则使用 AcquireTokenInteractive API 可能无法从备份身份验证系统获取令牌。
备份身份验证系统目前不支持设备授权授予。
单页 Web 应用程序
单页 Web 应用程序 (SPA) 在备份身份验证系统中的支持有限。 使用隐式授权流且仅请求 OpenID Connect ID 令牌的 SPA 受到保护。 只有使用 MSAL.js 1.x 或直接实现隐式授权流的应用才能使用此保护,因为 MSAL.js 2.x 不支持隐式流。
备份身份验证系统目前不支持带有代码交换证明密钥的授权代码流。
Web 应用程序和服务
备份身份验证系统目前不支持配置为机密客户端的 Web 应用程序和服务。 目前,不支持使用刷新令牌和客户端机密或证书凭据保护授权代码授予流和获取后续令牌。 目前不支持 OAuth 2.0 代理流。
SAML 2.0 单一登录 (SSO)
备份身份验证系统部分支持安全断言标记语言 (SAML) 2.0 单一登录 (SSO) 协议。 使用 SAML 2.0 标识提供者 (IdP) 启动的流的流受备份身份验证系统保护。 使用服务提供商 (SP) 启动的流的应用程序目前不受备份身份验证系统保护。
备份身份验证系统支持的工作负载标识身份验证协议
OAuth 2.0
托管的标识
使用托管标识获取 Microsoft Entra 访问令牌的应用程序受到保护。 Microsoft 建议在大多数场景中使用用户分配的托管标识。 此保护适用于用户和系统分配的托管标识。
服务主体
备份身份验证系统目前不支持使用客户端凭据授予流进行基于服务主体的工作负载标识身份验证。 Microsoft 建议使用适合平台的 MSAL 版本,以便在提供保护时,应用程序受备份身份验证系统的保护。