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

授予Azure SQL MI AD读取权限报错400:无效对象标识符null如何解决?

问题产生原因
  • 订阅跨AAD迁移后,SQL MI的系统分配托管身份未同步到新AAD:将订阅从原AAD切换到新建的AAD时,原AAD中与SQL MI绑定的托管身份、服务主体等对象不会自动同步到新AAD,点击授权按钮时系统无法读取到对应的对象ID,就会返回null标识符错误。
  • SQL MI创建时托管身份注册失败:如果创建SQL MI时,当前操作账号在新AAD中没有足够的权限(比如没有应用注册权限),会导致SQL MI的系统分配托管身份没有在AAD中成功创建,授权时无法获取到有效对象ID。
  • 浏览器会话缓存冲突:切换AAD租户后,浏览器缓存了原AAD的会话数据,门户请求时携带了旧租户的上下文,导致读取对象ID时返回空值。
解决思路
  • 先验证托管身份存在性:进入当前AAD的「企业应用程序」页面,清除筛选条件后搜索你的SQL MI实例名称,确认是否存在对应的应用条目。如果不存在,先进入SQL MI的「标识」配置页,将系统分配托管身份关闭后保存,等待5分钟再重新开启,触发托管身份在新AAD中重新注册。
  • 清除缓存后重试:使用浏览器无痕模式重新登录Azure门户,或者清理当前浏览器的站点缓存、Cookie后,再次进入SQL MI的AD管理员配置页执行授权操作,避免旧会话的上下文干扰。
  • 手动执行授权操作:如果门户UI操作持续报错,可以用PowerShell执行授权命令,跳过门户的交互逻辑:
# 登录当前AAD对应的Azure账号
Connect-AzAccount -Tenant <你的新AAD租户ID>
# 获取SQL MI的托管身份对象ID
$miId = (Get-AzSqlInstance -Name <SQL MI实例名> -ResourceGroupName <对应资源组名>).Identity.PrincipalId
# 授予Microsoft Graph目录读取权限
Grant-AzADAppPermission -ObjectId $miId -ApiId "00000003-0000-0000-c000-000000000000" -PermissionId "df021288-bdef-4463-88db-98f22de87200"
  • 重新注册SQL资源提供程序:如果以上操作都无效,进入订阅的「资源提供程序」页面,找到Microsoft.Sql条目,点击「重新注册」,等待注册完成后再尝试授权操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:36:02