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

清除Azure CDN特定文件缓存时遭遇AuthorizationFailed错误求助

解决Azure CDN Purge接口AuthorizationFailed错误的方案

可能的问题及修复步骤

1. 应用权限未获得管理员同意

从你的权限截图来看,添加的是应用权限,这类权限必须由全局管理员或特权角色管理员授予管理员同意后,才能在令牌中生效。而微软文档的Try it editor使用的是当前登录用户的权限(用户权限),因此可以成功执行。

修复:

  • 登录Azure门户,进入Azure Active Directory -> 应用注册 -> 找到你的目标应用
  • 切换到API权限页面,点击顶部的授予管理员同意按钮(需要管理员权限操作)

2. 令牌请求的资源受众不正确

你的代码中使用https://management.core.windows.net/作为资源地址,虽然该地址兼容Azure管理API,但推荐使用最新的https://management.azure.com/作为受众,避免权限声明不匹配的问题。

修改代码中的令牌请求部分:

// 替换原资源地址并改用await避免同步阻塞
var authenticationContext = new AuthenticationContext($"https://login.microsoftonline.com/{ManagerConfig.AAD_TenantId}");
ClientCredential clientCredential = new ClientCredential(clientId, clientSecret);
var result = await authenticationContext.AcquireTokenAsync("https://management.azure.com/", clientCredential);
string bearerToken = result.AccessToken;

3. 应用未被分配Azure RBAC角色

Azure CDN的Purge操作需要同时满足两个条件:

  • 应用拥有CDN管理API的权限(已配置)
  • 应用在目标CDN资源(或其父级资源组/订阅)上被分配了对应的RBAC角色

修复:

  • 登录Azure门户,找到你的CDN Profile(devmaritimeinfoportal)
  • 切换到访问控制(IAM)页面,点击添加 -> 添加角色分配
  • 选择CDN端点参与者或CDN配置文件参与者角色,然后选择你的应用作为成员,完成分配

验证步骤

完成上述配置后,重新运行代码:

  1. 获取新的令牌(确保权限已生效)
  2. 调用Purge接口,检查是否返回成功响应

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:01:23