You need to enable JavaScript to run this app. Pulumi配置Azure服务主体后GitHub Actions运行出现认证错误
优惠活动
大模型
产品
解决方案
定价
更多

Pulumi配置Azure服务主体后GitHub Actions运行出现认证错误

错误产生原因
  • Pulumi Azure 提供程序默认会优先尝试从Azure CLI读取认证信息,你使用的Windows运行环境没有预先完成Azure CLI登录,即使你已在Pulumi栈配置中写入服务主体参数,旧版本的Azure提供程序仍会先调用Azure CLI接口,触发报错。
  • 你没有将Azure服务主体的敏感认证参数传递到Pulumi Action的环境变量中,Pulumi运行时无法正常读取标记为secret的配置项,导致认证逻辑降级到调用Azure CLI获取信息,触发错误。
  • 你使用的pulumi/actions@v3版本较老旧,对Windows环境下的Pulumi配置读取兼容存在缺陷,会优先触发Azure CLI认证逻辑。
解决方案

方案1(推荐,无需修改Pulumi配置)

  1. 先将你的服务主体四个参数clientId、clientSecret、tenantId、subscriptionId存入GitHub仓库的Secrets中,命名为ARM_CLIENT_ID、ARM_CLIENT_SECRET、ARM_TENANT_ID、ARM_SUBSCRIPTION_ID。
  2. 修改Pulumi Action的配置,补充认证环境变量,强制Pulumi优先使用服务主体认证,跳过Azure CLI读取逻辑,同时升级Action版本到稳定版:
- uses: pulumi/actions@v5
  with:
    command: preview
    stack-name: trinsic/Cramer
    work-dir: infrastructure/Source/Trinsic.Okapi
  env:
    PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
    ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
    ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
    ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
    ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
    ARM_USE_AZURECLI: false

方案2(保留Azure CLI认证逻辑)

在安装Pulumi CLI步骤后,新增Azure CLI登录步骤,提前完成身份认证:

- name: 登录Azure
  uses: azure/login@v1
  with:
    client-id: ${{ secrets.ARM_CLIENT_ID }}
    tenant-id: ${{ secrets.ARM_TENANT_ID }}
    subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
    client-secret: ${{ secrets.ARM_CLIENT_SECRET }}

内容的提问来源于stack exchange,提问作者Steven T. Cramer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 11:15:02