升级Terraform v1.8.0与azurerm v3.105.0后静态站点列密钥遇AuthorizationFailed错误
Terraform版本
- Terraform: v1.8.0
- Azurerm Provider: v3.105.0
受影响资源
azurerm_static_site
Terraform配置文件
provider "azurerm" { features {} } resource "azurerm_static_site" "example" { name = "example-static-site" resource_group_name = "example-rg" location = "West US 2" identity { type = "SystemAssigned" } }
错误信息
错误:获取静态站点密钥失败:(名称 "example-static-site" / 资源组 "example-rg"):web.StaticSitesClient#ListStaticSiteSecrets: 请求响应失败:状态码=403 -- 原始错误:autorest/azure: 服务返回错误。状态=403 代码="AuthorizationFailed" 消息="客户端 'xxxxxxxxxxxxx'(对象ID 'xxxxxxxxxxxxx')无权执行该操作"
问题分析与解决步骤
权限变更排查
检查Terraform使用的身份(服务主体/当前登录用户)的RBAC权限是否被修改:- 登录Azure门户,进入目标资源组或静态站点资源,打开「访问控制(IAM)」页面
- 确认该身份是否拥有
Microsoft.Web/staticSites/listSecrets/action权限,或至少持有「静态网站参与者」角色 - 若权限缺失,添加对应角色或自定义权限
身份有效性检查
- 若使用服务主体,检查其凭证是否过期,必要时重新生成密钥/证书并更新Terraform认证配置
- 若使用Azure CLI登录,执行
az login刷新认证会话,确保身份上下文有效
RBAC继承验证
确认资源组或订阅层面的RBAC角色未被修改,避免因权限继承链断裂导致权限丢失
内容的提问来源于stack exchange,提问作者Vikash Sharma
相关产品推荐
相关产品推荐

