当我运行Terraform Plan时,我得到以下错误信息:
构建AzureRM客户端出错:从Azure CLI:未找到授权令牌
我用'az login'命令登录,用'az account set——subscription'命令设置正确的订阅。
我看到了其他帖子,并尝试运行'az帐户get-access-token',它返回accessToken没有任何错误。
terraform {
# backend "azurerm" {
# key = "terraform.tfstate"
# }
required_version = ">= 0.12"
}
provider "azurerm" {
version = "= 1.31.0"
skip_provider_registration = true
}
下面的Terraform和Az cli版本
$ az --version azure-cli 2.38.0
$ terraform --version
Terraform v0.12.31
+ provider.azurerm v1.31.0
构建AzureRM客户端错误:从Azure CLI填充客户端ID错误:没有发现授权令牌
此错误是由于Terraform azurerm提供程序和CLI的版本导致的。验证由Azure从ADAL切换到MSAL。如果您正在使用最新版本的Azure CLI和旧版本的Terraform的Azurerm,这可能会导致身份验证失败和错误。
要解决此问题,请使用升级版本的azure cli和terrform azurerm提供程序。
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "=3.0.0"
}
}
}
# Configure the Microsoft Azure Provider
provider "azurerm" {
features {}
}
Terraform azurerm version link
类似的错误也解决了,你可以检查这个SO线程作者:Ansuman Bal。