排查GitHub Secrets报错:‘无效订阅或租户级别错误’
创建GitHub工作流时,尝试运行以下Azure CLI命令存储Secrets,遇到MissingSubscription错误:
az ad sp create-for-rbac --name "myApp" --role contributor \ --scopes /subscriptions/{subscription-id}/resourceGroups/cloudresume/providers/Microsoft.Web/sites/GetResumeCounter2410 \ --sdk-auth
期望输出:
{ "clientId": "<GUID>", "clientSecret": "<GUID>", "subscriptionId": "<GUID>", "tenantId": "<GUID>", (...) }
实际错误:
(MissingSubscription) The request did not have a subscription or a valid tenant level resource provider.
Code: MissingSubscription
Message: The request did not have a subscription or a valid tenant level resource provider.
替换并验证订阅ID
命令中的{subscription-id}占位符必须替换为实际的Azure订阅GUID,且要去掉ID中的多余空格(你的命令里订阅ID部分存在空格,这会导致路径无效)。可运行az account list查看所有可用订阅的ID,确认目标订阅处于活跃状态。确保CLI关联正确订阅
先执行az login重新登录Azure账号,再运行az account set --subscription <你的订阅ID>,将当前CLI会话绑定到目标订阅,避免使用错误的默认订阅。核对资源路径准确性
--scopes参数的路径必须完全匹配Azure中资源的实际ID。可直接在Azure门户找到目标Web应用,进入「属性」页面复制完整的「资源ID」,替换到命令的--scopes字段中,避免手动输入时出现名称拼写、大小写错误。检查账号权限
确保登录的Azure账号拥有创建服务主体的权限(如全局管理员、应用程序管理员,或订阅级的所有者/参与者权限),权限不足也会触发此类订阅相关错误。
内容的提问来源于stack exchange,提问作者Nikhil Gupta

