You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Azure用户分配标识连接Entity Framework(替代连接字符串)

使用用户分配托管身份连接Azure SQL的解决方案

原代码依赖DefaultAzureCredential实现系统分配托管身份的连接,但要切换到用户分配托管身份,需要明确指定标识的客户端ID——因为DefaultAzureCredential不会自动识别用户分配标识,这就是报错的核心原因。

修改后的代码示例

var conn = (System.Data.SqlClient.SqlConnection)Database.Connection;
// 配置凭据选项,指定用户分配标识的客户端ID
var credentialOptions = new Azure.Identity.DefaultAzureCredentialOptions
{
    ManagedIdentityClientId = "你的用户分配标识客户端ID"
};
var credential = new Azure.Identity.DefaultAzureCredential(credentialOptions);
var token = credential.GetToken(new Azure.Core.TokenRequestContext(new[] { "https://database.windows.net/.default" }));
conn.AccessToken = token.Token;

关键注意事项

  • ManagedIdentityClientId:替换为你在Azure门户创建的用户分配标识的客户端ID(可在标识的"概述"页面获取)。
  • 确保用户分配标识已被授予Azure SQL数据库的AD权限(比如添加为DB用户并赋予对应角色)。
  • 确认宿主资源(如App Service、VM等)已关联该用户分配标识。

内容的提问来源于stack exchange,提问作者Red-Dot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:35:13