使用New-AzSubscriptionAlias创建Azure订阅时的权限问题
问题核心
已为应用/用户分配发票配置文件级别的「Azure subscription creator」角色,可通过门户手动创建订阅,但执行New-AzSubscriptionAlias命令时持续报错:
"You do not have sufficient permissions on the specified invoice section to create an Azure subscription. Refer(http://aka.ms/mca-section-invoice) to set the right permissions and try again"
门户与CLI的权限差异及解决方向
门户与CLI在订阅创建的权限校验逻辑上存在细微差异,以下是具体排查点:
权限作用范围的精准匹配
门户创建订阅时会自动匹配你有权限的发票段,而CLI要求BillingScope必须严格对应角色的分配范围。检查角色的作用范围是否为你命令中指定的发票段(invoiceSections)级别——如果角色是分配在父级计费配置文件/计费账号,CLI指定发票段会触发权限校验失败,需将角色重新分配到目标发票段级别。角色权限的动作完整性
确认「Azure subscription creator」角色包含Microsoft.Subscription/aliases/write动作,且该动作的作用范围覆盖目标发票段。可通过门户角色定义查看权限列表,确保该动作未被遗漏或限制。CLI会话权限缓存刷新
若使用用户账号在CLI执行,旧的权限缓存可能导致校验错误,执行以下命令刷新会话后重试:Disconnect-AzAccount Connect-AzAccountBillingScope格式准确性
对于Microsoft客户协议(MCA)账户,BillingScope的ID必须完全准确。直接从门户复制目标发票段的资源ID:进入计费账户→计费配置文件→发票段,复制完整的资源ID替换命令中的占位符,避免手动输入错误。服务主体的额外读取权限
若使用服务主体(应用)执行,除「Azure subscription creator」角色外,需额外授予以下读取权限:Microsoft.Billing/billingAccounts/readMicrosoft.Billing/billingProfiles/readMicrosoft.Billing/invoiceSections/read
CLI创建订阅前会主动读取计费段信息,缺少这些权限会触发校验失败,而门户会自动处理这类隐式权限需求。
内容的提问来源于stack exchange,提问作者Idan Shalom Agamy

