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

解决Terraform Plan访问Azure受防火墙保护资源的403错误:添加正确IP白名单

解决Terraform Cloud访问Azure受防火墙保护资源的403权限问题

问题背景

当用Terraform Cloud对受防火墙保护的Azure资源执行terraform plan或apply时,会因为Terraform Cloud发起的GET请求无访问权限触发403错误。通过curl --request GET https://app.terraform.io/api/meta/ip-ranges | jq '.'获取IP段后,添加api字段下的IP到Azure防火墙白名单仍无法解决,只能临时开放资源至所有网络才能完成操作。

核心原因

你选错了IP范围:Terraform Cloud的托管工作区运行器在执行plan/apply、访问Azure资源时,使用的是workers字段下的IP,而非api字段的IP。之前的API响应里你没注意到这个关键字段。

解决方案步骤

  1. 获取完整的Terraform Cloud IP范围
    重新执行命令,拿到包含workers段的完整IP列表:

    curl --request GET https://app.terraform.io/api/meta/ip-ranges | jq '.'
    

    完整响应会包含workers字段,示例如下:

    {
      "api": [
        ...
      ],
      "notifications": [
        ...
      ],
      "sentinel": [
       ...
      ],
      "vcs": [
       ...
      ],
      "workers": [
        "1.2.3.4/24",
        "5.6.7.8/22"
      ]
    }
    
  2. 将workers段IP添加到Azure防火墙白名单

    • 登录Azure门户,找到目标资源的防火墙配置界面
    • 把workers字段下的所有CIDR地址全部添加到允许的IP列表中
    • 保存配置,等待规则生效(一般几分钟内即可)
  3. 验证操作
    重新运行terraform plan,此时Terraform Cloud的托管运行器会用workers段的IP发起请求,应该能正常访问Azure资源,不会再出现403错误。

额外说明

  • api字段的IP仅用于Terraform Cloud API的访问场景(比如你本地机器调用Terraform Cloud API时的来源IP),和运行器执行terraform操作的请求IP无关
  • 如果你用的是自托管运行器,不需要加Terraform Cloud的workersIP,而是要把自托管运行器所在服务器的公网IP添加到Azure防火墙白名单

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 19:12:41