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

Azure DevOps服务连接调用AAD Graph API被阻止问题求助

问题分析与解决方案

核心原因

报错Access blocked to AAD Graph API for this application.的本质是AAD Graph(graph.windows.net)已被微软正式弃用并逐步限制访问。你的脚本依赖AzureAD模块,而该模块底层调用AAD Graph,即使之前正常运行,近期微软收紧了对AAD Graph的访问控制,导致原有调用被拦截。

解决方案:切换到Microsoft Graph PowerShell模块

微软已明确推荐使用Microsoft Graph替代AAD Graph,需修改脚本使用Microsoft.Graph系列模块,同时调整权限配置:

1. 调整服务连接权限

确保工作负载身份联合对应的应用注册,拥有Microsoft Graph的以下应用权限(需管理员同意):

  • Application.ReadWrite.All:用于创建应用注册和服务主体

2. 修改PowerShell脚本

替换原有依赖AAD Graph的代码,改用Microsoft Graph模块:

# 通过Azure DevOps工作负载身份联合自动认证到Microsoft Graph
Connect-MgGraph -Identity

# 配置应用注册参数
$appRegistrationParams = @{
    DisplayName = "$(RedirectURI)"
    Web = @{
        RedirectUris = @("$(URL)")
    }
}

# 创建应用注册
$newApplication = New-MgApplication @appRegistrationParams

# 创建对应的服务主体
$enterpriseApplication = New-MgServicePrincipal -AppId $newApplication.AppId

3. 确保Azure DevOps任务环境支持

如果代理环境未预装Microsoft Graph模块,需在任务中添加安装步骤:

Install-Module -Name Microsoft.Graph.Applications -Force -Scope CurrentUser -AllowClobber

额外排查点

  • 确认服务连接的应用注册已完成Microsoft Graph权限的管理员同意,权限状态显示为“已授予”
  • 检查Azure DevOps任务使用的PowerShell版本需支持Microsoft Graph模块(推荐PowerShell 7.x)
  • 验证工作负载身份联合配置未变更,服务连接的身份能正常访问Microsoft Graph

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:19:50