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

如何解决Terraform配置Azure时的无效凭据及DNS解析错误?

Terraform Azure部署DNS解析错误排查方案

问题详情

执行terraform plan时触发如下错误:

Unable to list provider registration status, it is possible that this is due to invalid credentials or the service principal does not have permission to use the Resource Manager API, Azure error: resources.ProvidersClient#List: Failure sending request: StatusCode=0 -- Original Error: Get "https://management.azure.com/subscriptions/61230797-2385-4403-8a23-553c4a8da920/providers?api-version=2016-02-01": dial tcp: lookup management.azure.com on 172.31.192.1:53: cannot unmarshal DNS message

对应的Terraform配置代码:

# Configure the Azure provider
terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.0.2"
    }
  }

  required_version = ">= 1.1.0"
}

provider "azurerm" {
  features {}

  client_id = "bd330f5d-****-****-****-************"
  client_secret = "VDa8Q~****-****~kzb-************h~****-2"
  tenant_id = "cfd11325-****-****-****-dd495c0916ae"
  subscription_id = "61230797-****-****-****-************"
}

resource "azurerm_resource_group" "rg" {
  name     = "myTFResourceGroup"
  location = "westus2"
}

解决步骤

错误核心是DNS解析失败,无法解析management.azure.com域名,提示中的权限问题为误导性信息,按以下步骤修复:

  • 验证域名解析

    1. 在终端执行nslookup management.azure.com或dig management.azure.com,确认是否返回有效IP地址。
    2. 若解析失败,将系统/网络的DNS服务器切换为公共DNS(如8.8.8.8、1.1.1.1),再重新验证解析。
  • 排查网络限制

    1. 用浏览器访问https://management.azure.com,确认当前网络可正常连通Azure管理端点。
    2. 若处于虚拟机、容器或企业网络环境,检查防火墙、安全组是否限制了UDP 53端口的DNS查询,或封禁了Azure管理域名的访问。
  • 修复Terraform环境

    1. 将AzureRM Provider版本升级至较新稳定版(如~>3.60),修改配置后执行terraform init -upgrade重新初始化,避免旧版本的网络适配问题。
    2. 删除本地.terraform目录,再执行terraform init清理缓存,排除缓存引发的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:20:00