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

使用Terraform创建service principal报Insufficient privileges错误需哪些权限

问题原因

403报错的核心是Azure订阅权限和Azure AD目录权限是两套独立的权限体系,你给执行Terraform脚本的服务主体配置的订阅Owner权限仅能管理Azure订阅下的资源,没有权限操作Azure AD目录中的应用注册对象。

对应报错信息:

│ 
│   with module.appregister.azuread_application.auth,
│   on modules/appregister/main.tf line 6, in resource "azuread_application" "auth":
│    6: resource "azuread_application" "auth" {
│ 
│ ApplicationsClient.BaseClient.Post(): unexpected status 403 with OData
│ error: Authorization_RequestDenied: Insufficient privileges to complete the
│ operation.
╵
##[error]Error: The process '/agent/_work/_tool/terraform/1.0.3/x64/terraform' failed with exit code
解决方案

你可以选择以下任意一种方式配置权限:

方案1:分配AAD内置目录角色(操作简单,推荐大多数场景使用)

给执行Terraform的服务主体分配以下任意一个AAD目录角色即可:

  • 应用程序管理员:拥有全量的AAD应用注册、服务主体管理权限
  • 云应用程序管理员:权限范围略小于应用程序管理员,同样支持创建、管理AAD应用注册

方案2:配置Microsoft Graph API最小权限(适合严格权限管控场景)

如果你需要遵循最小权限原则,不需要给服务主体开通全量的应用管理权限,可以按以下步骤配置:

  • 在Azure门户中找到执行Terraform所用的服务主体对应的AAD应用注册
  • 进入「API权限」菜单,点击「添加权限」,选择「Microsoft Graph」
  • 权限类型选择「应用权限」,搜索并勾选Application.ReadWrite.All权限
  • 点击「授予管理员同意」,完成权限生效配置

注意:如果你使用的azuread Terraform Provider版本低于v2.0,建议先升级到最新稳定版,避免旧版本依赖的AAD Graph接口权限兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:57:04