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

Azure应用服务配置System Assigned Identity连接数据库失败求排查及指南

问题排查与配置指南

核心缺失配置:给App Service系统身份授予SQL数据库权限

你目前的操作遗漏了最关键的一步:将App Service的系统分配身份添加到SQL数据库的权限组中,具体步骤如下:

步骤1:确认SQL Server的Azure AD管理员已配置

  • 进入Azure SQL Server的Azure Active Directory设置页
  • 确保已指定一个Azure AD用户/组作为SQL Server的AD管理员(如果未配置,先完成这一步,否则无法通过AD身份创建数据库登录)

步骤2:给App Service系统身份创建SQL数据库登录

用AD管理员账号连接到SQL数据库(比如用SSMS选择"Azure Active Directory - 通用"身份验证),执行以下SQL脚本:

-- 创建登录名,替换为你的App Service名称(系统身份的名称就是App Service本身的名称)
CREATE LOGIN [你的App Service名称] FROM EXTERNAL PROVIDER;

步骤3:给登录名授予数据库角色权限

在目标数据库中执行:

-- 将登录名映射为数据库用户
CREATE USER [你的App Service名称] FOR LOGIN [你的App Service名称];
-- 授予业务所需的权限,示例为读写权限,可按需调整
ALTER ROLE db_datareader ADD MEMBER [你的App Service名称];
ALTER ROLE db_datawriter ADD MEMBER [你的App Service名称];

其他排查点

  • 连接字符串格式检查:确保Authentication=Active Directory Default没有多余换行,完整连接字符串应为一行:
    Server=my-sql-server.database.windows.net,1433;Database=my-database;Authentication=Active Directory Default
    
  • 确认App Service身份状态:进入App Service的身份设置页,确认系统分配身份处于"开启"状态,且Object ID与你之前获取的一致
  • 代码层面验证:确保应用代码没有硬编码其他连接字符串,确实读取了App Service配置中的连接字符串

内容的提问来源于stack exchange,提问作者Veronica

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:35:15