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

Azure Pipelines认证失败:服务连接ID与实际使用ID不符

问题解决思路

核心问题

你遇到的错误根源有两个:

  1. 多余的手动登录操作:AzureCLI@2任务指定azureSubscription后,会自动用你配置的服务连接(b030...开头的SPN)完成Azure认证,不需要在后续Bash任务里重复执行az login。
  2. 变量传递失效:你在AzureCLI@2中设置的ARM_CLIENT_ID等变量默认仅在当前任务作用域生效,后续Bash任务无法正确获取到这些值,导致az login调用了托管代理自带的临时SPN(即报错里的5fb6...),而非你配置的服务连接。

修正方案(二选一即可)

方案1:直接用AzureCLI@2执行Terraform脚本(推荐)

删掉多余的Bash登录任务,把Terraform脚本直接放到AzureCLI@2任务中执行,利用已有的认证上下文:

trigger:
- none

pool:
  vmImage: ubuntu-latest

steps:
  - task: AzureCLI@2
    displayName: 'Azure CLI 执行 Terraform 远程状态脚本'
    inputs:
      azureSubscription: 'ADO'
      scriptType: bash
      scriptLocation: scriptPath
      scriptPath: '$(System.DefaultWorkingDirectory)/Terraform/remotestate.sh'
      workingDirectory: '$(System.DefaultWorkingDirectory)/Terraform/'
      addSpnToEnvironment: true
      failOnStderr: true

方案2:正确传递SPN变量到后续任务

如果必须保留独立的Bash任务,需要将AzureCLI@2中设置的变量标记为输出变量,并在后续任务中通过任务名称引用:

trigger:
- none

pool:
  vmImage: ubuntu-latest

steps:
  - task: AzureCLI@2
    displayName: '导出SPN认证变量'
    inputs:
      azureSubscription: 'ADO'
      scriptType: bash
      scriptLocation: inlineScript
      inlineScript: |
        echo "##vso[task.setvariable variable=ARM_CLIENT_ID;isOutput=true]$servicePrincipalId" 
        echo "##vso[task.setvariable variable=ARM_CLIENT_SECRET;isOutput=true]$servicePrincipalKey"
        echo "##vso[task.setvariable variable=ARM_TENANT_ID;isOutput=true]$tenantId"
      addSpnToEnvironment: true
    name: spnVars # 给任务命名,用于后续引用变量

  - bash: |
      az login --service-principal --username $(spnVars.ARM_CLIENT_ID) --password $(spnVars.ARM_CLIENT_SECRET) --tenant $(spnVars.ARM_TENANT_ID)
      ./remotestate.sh
    displayName: '执行Terraform脚本'
    workingDirectory: '$(System.DefaultWorkingDirectory)/Terraform/'
    failOnStderr: true

额外说明

  • 托管代理环境中会自带一些用于内部操作的临时SPN,当你的自定义变量传递失效时,az login会默认使用这些内置SPN,这就是为什么报错里出现了5fb6...这个陌生的客户端ID。
  • 优先选择方案1,既能减少不必要的操作,又能避免认证上下文冲突的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:25:18