服务主体执行Azure CLI az cdn endpoint purge命令报授权失败
报错根因排查
本次报错为配置错配导致,不存在CDN角色本身的权限缺失,核心错配点按出现概率排序:
1. 角色授权的对象与实际登录身份不匹配
- Azure Active Directory 中的服务主体包含两个独立的UUID标识:
- 应用(客户端)ID:即
az login参数--username传入的值,对应你命令里的ca85199a-7e86-40eb-b6c8-a774a9edc010 - 对象ID:Azure AD内部的资源唯一标识,与上述应用ID并非同一值
- 应用(客户端)ID:即
- 报错明确显示当前执行操作的客户端对象ID为
acd5dfea-f69a-4178-812c-4204963c6959,与你登录使用的服务主体无对应关系,说明此前将两个CDN角色实际分配给了其他服务主体,而非当前执行命令的登录主体,相当于授权打错了对象,自然无对应操作权限。
2. 资源组名称拼写错误
- 你在问题描述中明确目标资源组名称为
Playground,但执行命令时输入的资源组名为Playgroud(遗漏了单词末尾的字母n),报错中的操作路径也匹配了这个拼写错误的资源组名。 - 如果当前订阅下不存在该拼写错误的资源组,会直接触发“scope is invalid”类权限报错,与是否完成角色分配无关。
3. 低概率触发的权限传播延迟
- 若确认授权对象、资源组名称完全匹配,仅在刚完成角色分配后就执行命令,可能遇到Azure RBAC权限传播延迟(通常最长15-30分钟),但这类延迟不会在报错中提示不匹配的对象ID。
注:
CDN Endpoint Contributor、CDN Profile Contributor两个内置角色,本身已包含Microsoft.Cdn/profiles/endpoints/purge/action的操作权限,不存在角色权限覆盖不足的问题。
内容的提问来源于stack exchange,提问作者Akash Pavate
相关产品推荐
相关产品推荐

