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

如何在Azure门户验证应用服务系统托管标识配置有效性

验证Azure应用服务系统托管标识配置的方法

1. 确认应用服务系统托管标识已启用

  • 登录Azure门户,定位到目标应用服务
  • 左侧导航选择标识 > 系统分配标签页
  • 确认状态为开启,并复制页面上的对象(主体)ID,后续验证会用到

2. 检查Azure SQL数据库的AD权限配置

  • 进入目标Azure SQL数据库资源页
  • 左侧导航选择安全性 > Active Directory管理员,确保已配置有效的Azure AD管理员(无此配置则无法添加AD身份的数据库用户)
  • 通过SQL数据库的查询编辑器(以AD管理员身份登录)执行以下查询,确认托管标识已被授予数据库访问权限:
SELECT name, type_desc FROM sys.database_principals 
WHERE name = '<替换为应用服务的对象(主体)ID>' OR name = '<替换为应用服务名称>'

提示:若通过Azure门户添加AD用户,通常以应用服务名称作为用户名;手动创建的可能使用对象ID。查询结果需能找到对应的数据库主体,且该主体已被分配合适的数据库角色(如db_datareader、db_datawriter)

3. 在应用服务内测试令牌获取

  • 返回应用服务资源页,左侧导航选择开发工具 > 高级工具,点击Go进入Kudu控制台
  • 切换到Debug console > PowerShell,执行以下命令尝试获取Azure SQL的访问令牌:
Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://database.windows.net/' -Headers @{Metadata="true"}

若返回包含access_token的JSON响应,说明托管标识能正常获取令牌;若返回错误,可根据错误信息定位问题(如权限缺失、网络阻断等)

4. 排查应用服务与SQL数据库的网络连通性

  • 进入应用服务的网络配置页:
    • 检查VNet集成:若SQL数据库配置了VNet防火墙,需确保应用服务已加入允许访问的VNet/子网
    • 检查访问限制:若SQL数据库设置了IP防火墙规则,需确认应用服务的所有出站IP已添加到允许列表,或开启SQL数据库的“允许Azure服务和资源访问此服务器”选项

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:57:29