使用Terraform操作Cloudflare A记录时遇认证错误(10000)
解决Cloudflare Terraform数据源认证错误(10000)
核心问题排查与修复步骤
补充必要的API Token权限:
仅添加DNS读取权限不够,必须同时配置Zone - Zone: Read权限。因为Terraform查询DNS记录前需要验证对目标Zone的访问权限,缺少这个权限会触发认证失败。
配置权限时,务必将权限的应用范围锁定到sidharthvijayakumar.fun对应的Zone,不要选择"所有区域",避免权限匹配偏差。验证Zone ID准确性:
确认配置中的zone_id与Cloudflare控制台中目标域名Overview页面显示的Zone ID完全一致,字符大小写、长度都不能错。检查数据源配置的hostname:
当前数据源中hostname = "sidharthvijayakumar.fun",但资源名是www,如果你的目标是查询www.sidharthvijayakumar.fun的A记录,这里的hostname应该改为www.sidharthvijayakumar.fun;如果是查询主域名的A记录,资源名可以改为root避免混淆,配置本身没问题,但命名一致能减少排查干扰。手动验证API Token有效性:
用curl命令直接调用Cloudflare API测试Token:curl -H "Authorization: Bearer YE9d0KcX97OspLySwYLC475Sx42DPlfBEU_3FjqU" https://api.cloudflare.com/client/v4/zones/1fa42c8d2132a9ddaf714f9e7c920711/dns_records?type=A&name=sidharthvijayakumar.fun如果返回认证错误,说明Token权限仍有问题;如果能正常返回DNS记录,再检查Terraform的provider配置是否有拼写错误。
修正后的API Token权限示例
需要包含以下两项权限:
- Zone > Zone: Read(应用范围:指定的
sidharthvijayakumar.funZone) - Zone > DNS: Read(应用范围:指定的
sidharthvijayakumar.funZone)
内容的提问来源于stack exchange,提问作者sidharth vijayakumar
相关产品推荐
相关产品推荐

