您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

Azure Active Directory 身份验证

可以将 Bearer身份验证方案与从 Azure Active Directory (Azure AD) 获取的令牌配合使用,来对 HTTP 请求进行身份验证。 必须通过传输层安全性 (TLS) 传输这些请求。

先决条件

必须将用于请求 Azure AD 令牌的主体分配到适用的 Azure 应用程序配置角色之一。

为每个请求提供身份验证所需的所有 HTTP 标头。 以下是最低要求:

请求标头 说明
Authorization Bearer 方案所需的身份验证信息。

示例:

Host: {myconfig}.azconfig.io
Authorization: Bearer {{AadToken}}

Azure AD 令牌获取

在获取 Azure AD 令牌之前,必须先确定要以哪一用户的身份进行身份验证、要为哪一受众请求令牌,以及要使用哪一 Azure AD 终结点(颁发机构)。

目标受众

为适当的受众请求 Azure AD 令牌。 对于 Azure 应用程序配置,使用以下受众之一。 受众还可以称作要为其请求令牌的“资源”。

  • {configurationStoreName}.azconfig.io
  • *.azconfig.io

重要

当请求的受众为 {configurationStoreName}.azconfig.io 时,它必须与用于发送请求的 Host 请求标头(区分大小写)完全匹配。

Azure AD 颁发机构

Azure AD 颁发机构是用于获取 Azure AD 令牌的终结点。 其形式为 https://login.microsoftonline.com/{tenantId}{tenantId} 段指的是尝试进行身份验证的用户或应用程序所属的 Azure AD 租户 ID。

身份验证库

Azure 提供一组称为 Azure Active Directory 身份验证库的库来简化获取 Azure AD 令牌的过程。 Azure 针对多种语言生成了这些库。 有关详细信息,请参阅本文档

错误

你可能会遇到以下错误。

HTTP/1.1 401 Unauthorized
WWW-Authenticate: HMAC-SHA256, Bearer

原因: 你未提供使用 Bearer 方案的 Authorization 请求头。

解决方案: 提供有效的 Authorization HTTP 请求头。

HTTP/1.1 401 Unauthorized
WWW-Authenticate: HMAC-SHA256, Bearer error="invalid_token", error_description="Authorization token failed validation"

原因: Azure AD 令牌无效。

解决方案: 从 Azure AD 颁发机构获取 Azure AD 令牌,并确保已使用适当的受众。

HTTP/1.1 401 Unauthorized
WWW-Authenticate: HMAC-SHA256, Bearer error="invalid_token", error_description="The access token is from the wrong issuer. It must match the AD tenant associated with the subscription to which the configuration store belongs. If you just transferred your subscription and see this error message, please try back later."

原因: Azure AD 令牌无效。

解决方案: 从 Azure AD 颁发机构获取 Azure AD 令牌。 确保 Azure AD 租户与配置存储所属的订阅关联。 如果主体属于多个 Azure AD 租户,则可能出现此错误。