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

拥有Azure订阅Contributor权限无法创建Service Principal的权限咨询

创建Azure服务主体(Service Principal)所需权限说明

你遇到的报错:

ServicePrincipalsClient.BaseClient.Post(): unexpected status 403 with OData error: Authorization_RequestDenied: When using this permission, the backing application of the service principal being created must in the local tenant

核心原因是订阅的Contributor权限仅针对Azure资源管理,不覆盖Azure AD目录层面的操作,而创建服务主体属于Azure AD范畴的操作,所以会触发403权限拒绝。

一、所需权限分类

目录角色(直接赋予用户的AD角色)

  • 应用程序管理员:拥有Azure AD中应用注册、服务主体的完全管理权限,适合需要全面管控的场景。
  • 云应用程序管理员:权限范围略小于前者,仅管理云应用相关的注册和服务主体。

Microsoft Graph权限(API层面权限)

  • Application.ReadWrite.All:这是Microsoft Graph的权限,并非Azure订阅角色——你找不到它是因为混淆了Azure订阅资源角色和Azure AD目录权限。要配置这个权限,需在Azure AD的「应用注册」或「企业应用」中操作,或通过Microsoft Graph API授予。
  • Application.ReadWrite.OwnedBy:如果只需要管理自己创建的应用注册和服务主体,这个权限足够,限制更小,无需全局级别的AD权限。

二、报错额外说明

报错里的backing application of the service principal being created must in the local tenant提示,还可能是因为你尝试创建关联到其他租户应用的服务主体,这种跨租户操作需要特殊权限,默认本地租户的Contributor没有该权限。请确保你是在当前租户内创建新的应用注册(创建应用注册时会自动生成对应的服务主体),而非引用外部租户的应用。

三、权限获取方式

要获得上述权限,需要Azure AD的全局管理员或特权角色管理员协助:

  • 分配目录角色:登录Azure门户进入「Azure Active Directory」→「角色和管理员」,搜索并分配「应用程序管理员」或「云应用程序管理员」角色给你。
  • 授予Graph权限:在「Azure Active Directory」→「应用注册」中找到对应应用,添加Application.ReadWrite.All或Application.ReadWrite.OwnedBy权限,并完成管理员同意流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 13:10:01