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

Terraform init报Azure CLI MSAL令牌缓存用户不存在错误

问题描述

执行Terraform初始化操作时,使用Azure AD认证连接azurerm后端存储出现异常,当前环境版本如下:

  • Terraform v1.2.2
  • Az CLI v2.37.0

对应Terraform配置如下:

terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~>3.0"
    }
  }
  backend "azurerm" {
    tenant_id            = "XXX"
    subscription_id      = "XXX"
    resource_group_name  = "XXX"
    storage_account_name = "XXX"
    container_name       = "tfstate"
    key                  = "devops.terraform.tfstate"
    use_azuread_auth     = true
  }
}

执行terraform init命令时返回以下错误:

terraform init
> Error: obtaining Authorization Token from the Azure CLI: parsing json result from the Azure CLI: waiting for the Azure CLI: exit status 1: ERROR: User 'XXX' does not exist in MSAL token cache. Run `az login`.

已尝试以下排查操作,均未解决问题:

  • 直接执行az login重新登录Azure账号
  • 先执行az logout退出登录,再重新执行az login
  • 删除本地MSAL token缓存文件
  • 执行az account clear清空本地存储的Azure账号配置
  • 将初始使用的Terraform v1.1.x版本升级到最新的v1.2.2版本
  • 核查本地msal_token_cache.json文件,确认Account.username字段下确实存在对应用户的登录记录
解决方案

直接重新安装Az CLI即可修复该问题。

该问题大概率出现在WSL2环境中:核心诱因是Terraform与Az CLI使用的二进制版本不统一——如果两个工具没有同时使用Windows版本二进制文件,或是没有同时使用WSL2内部安装的Linux版本二进制文件,就会出现配置读取路径混乱的问题,最终导致Terraform无法正确读取Az CLI生成的MSAL令牌缓存,触发上述报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:27:29