从GitHub部署至Azure Web App失败:应用标识符未找到
解决GitHub部署Azure Web App时的AADSTS700016错误
你的问题核心是用错了标识参数——系统分配标识的对象ID(Object ID)不能作为AAD认证的客户端ID,必须用应用程序ID(Application ID),这就是AADSTS700016错误的原因:AAD找不到对应对象ID的应用实体。
修复步骤:
替换GitHub Secrets的值:
登录Azure门户,找到你的Web App,进入「标识」→「系统分配」标签页,复制「应用程序ID」,替换GitHub Secrets中原来的对象ID。检查GitHub Action YAML配置:
确保azure/login动作的client-id参数指向的是新替换的应用程序ID对应的Secret。示例配置片段:- name: Azure Login uses: azure/login@v1 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} allow-no-subscriptions: false验证权限配置:
确认Web App的系统分配标识已被授予足够的部署权限,比如给它分配「网站参与者」角色(作用范围可以是Web App所在的资源组或Web App本身)。
关键区别:
对象ID是AAD中服务主体的唯一实体ID,而应用程序ID是AAD用来识别该服务主体的客户端标识符,Azure AD认证时只认后者作为client-id参数。
内容的提问来源于stack exchange,提问作者Thomas Segato
相关产品推荐
相关产品推荐

