使用Azure App Service部署时遇AADSTS700213错误求解决方案
核心问题
错误提示显示找不到匹配的联邦身份记录,原因是提交的断言主题与配置的联合凭据主题不匹配,或Issuer、Audience配置有误。
解决方案
核对联合凭据的Subject字段
错误中给出的主题是repo:Rajasree2004/private-notes:ref:refs/heads/main,登录Azure门户找到对应的托管标识,查看已创建的联合凭据,确保Subject与该值完全一致,包括大小写、仓库名称、分支路径,不能存在任何拼写或格式错误。如果是针对分支的凭据,格式必须严格遵循repo:<用户名>/<仓库名>:ref:refs/heads/<分支名>。验证Issuer和Audience配置
确认联合凭据中的Issuer为https://token.actions.githubusercontent.com,Audience为api://AzureADTokenExchange(默认值),两者均不能出现拼写错误。检查GitHub Actions工作流配置
确保Azure/login动作的参数配置正确,示例如下:- name: Azure Login uses: Azure/login@v1 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} auth-type: oidc重点确认
client-id对应托管标识的客户端ID,tenant-id为Azure租户ID,且auth-type设置为oidc。确认托管标识权限与关联关系
联合凭据必须绑定到正确的托管标识,且该托管标识需拥有Azure App Service的部署权限(如Contributor角色)。检查是否在创建联合凭据时选错了托管标识,或托管标识未配置足够权限。等待配置同步
Azure的配置变更可能需要数分钟才能生效,创建联合凭据后不要立即触发部署,等待5-10分钟后再尝试。
内容的提问来源于stack exchange,提问作者rajasree

