Terraform Cloud远程执行权限错误求助:无法写入backend配置文件
Terraform Cloud远程执行plan/apply时权限拒绝问题
错误信息
操作失败:failed writing remote backend config file: open /home/tfc-agent/.tfc-agent/component/terraform/runs/runId/config/infra/zzz_backend_override.tf: permission denied
问题现象
- 本地开发机执行
terraform plan正常,仅Terraform Cloud远程执行时触发错误 - 所有Terraform项目自上周五(17日)中午起均出现该问题
- 将.tf文件移至仓库根目录时,远程执行正常;放回
infra子目录并在TFC工作区设置工作目录为/infra或infra时,错误重现
背景信息
- 使用Windows 10系统,通过Chocolatey将Terraform从1.6.2升级至1.6.3,未修改项目文件夹结构或Terraform Cloud设置
- 后续卸载Terraform并重启电脑,重新安装1.6.4版本后,问题依旧
- 使用Terraform Cloud旧版免费套餐,仅能获取社区支持
项目文件夹结构
repo-root/ ├─ infra/ │ ├─ .terraform/ │ │ ├─ providers/ │ │ ├─ environment │ │ ├─ terraform.tfstate │ ├─ locals.tf │ ├─ main.tf | ├─ terraform.tf │ ├─ variables.tf ├─ lambda/ │ ├─ helpers/ | | ├─ helper.js │ ├─ index.mjs │ ├─ package.json │ ├─ package-lock.json ├─ .gitignore ├─ .terraformignore ├─ README.md
解决建议
- 检查
.terraformignore配置:确保没有误排除infra目录或其中的关键文件,避免TFC代理拉取代码时缺少必要目录结构 - 清理TFC工作区缓存:在Terraform Cloud工作区设置中,手动清除远程执行的缓存文件,避免旧权限残留
- 重新创建TFC工作区:让TFC重新生成代理工作目录,绕过可能存在的旧目录权限异常
- 显式指定backend配置:在
infra/terraform.tf中手动写入完整的remote backend配置,避免TFC自动生成zzz_backend_override.tf时触发权限问题,示例:
terraform { backend "remote" { organization = "你的组织名称" workspaces { name = "你的工作区名称" } } }
- 重置本地代码目录权限:在Windows系统中重置
infra目录的文件权限,确保所有文件可正常读取,再重新提交代码到仓库
内容的提问来源于stack exchange,提问作者Avalanchd
相关产品推荐
相关产品推荐

