数据 API 生成器允许开发人员定义身份验证机制(标识提供者),他们希望数据 API 生成器用于对发出请求的用户进行身份验证。
身份验证委托给受支持的标识提供者,可在其中颁发访问令牌。 获取的访问令牌必须包含在对数据 API 生成器的传入请求中。 然后,数据 API 生成器会验证呈现的任何访问令牌,确保数据 API 生成器是令牌的目标受众。
在开发中 (az login)
在 Authentication='Active Directory Default' Azure SQL 数据库连接字符串中使用意味着客户端使用 Microsoft Entra 凭据进行身份验证。 环境确定确切的身份验证方法。 开发人员运行 az login时,Azure CLI 将打开浏览器窗口,提示用户使用Microsoft帐户或公司凭据登录。 身份验证后,Azure CLI 将检索并缓存链接到 Microsoft Entra 标识的令牌。 然后,此令牌用于对 Azure 服务的请求进行身份验证,而无需连接字符串中的凭据。
"data-source": {
"connection-string": "...;Authentication='Active Directory Default';"
}
az login
JSON Web 令牌 (JWT)
要使用 JWT 提供程序,您需要配置 runtime.host.authentication 部分,并提供必要的信息以验证所收到的 JWT 令牌。
"authentication": {
"provider": "AzureAD",
"jwt": {
"audience": "<APP_ID>",
"issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
}
}
角色选择
通过任一可用选项对请求进行身份验证后,令牌中定义的角色将用于帮助确定如何评估权限规则以 授权 请求。 除非请求使用用户角色,否则任何经过身份验证的请求都会自动分配给 authenticated 系统角色。 有关详细信息,请参阅 授权。
匿名请求
还可以在不进行身份验证的情况下发出请求。 在这种情况下,请求会被自动分配给 anonymous 系统角色,以便能够正确地 授权。
X-MS-API-ROLE 请求标头
数据 API 生成器要求标头 X-MS-API-ROLE 来授权使用自定义角色的请求。
X-MS-API-ROLE 的值必须与令牌中指定的角色匹配。 例如,如果令牌的角色是 Sample.Role,则 X-MS-API-ROLE 也应为 Sample.Role。 有关详细信息,请参阅 授权用户角色。