Agent Skills
返回列表
🔒

Terraform 模块 TFLint 检查

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/lint-terraform-modules-for-provider-mistakes-and-policy-violations-with-tflint。

技能介绍

为什么需要 TFLint 检查

在编写 Terraform 模块时,terraform plan 或 terraform apply 往往无法捕获所有问题。例如,某个 provider 的参数拼写错误,或者使用了已废弃的属性。这些错误如果直到部署阶段才被发现,会导致基础设施代码难以维护。此外,团队内部通常有自定义的命名规范或安全策略,原生 Terraform 不会对这些策略违规进行告警。

核心能力与工作方式

该技能通过集成 TFLint 来提前拦截这些问题:

  • Provider 专属规则检查:利用 TFLint 的插件机制,检查特定 provider(如 aws、azurerm)的无效属性或错误用法。
  • 自定义策略验证:支持加载团队自定义的 Rule 插件,确保模块符合内部安全基线。
  • 配置引导:提供清晰的安装与配置指引,帮助快速拉起 Docker 环境或本地二进制文件。
  • 本地校验闭环:允许在提交代码前执行静态检查,将错误拦截在 CI/CD 流水线之外。

适用边界与注意事项

虽然 TFLint 能有效减少配置错误,但它主要聚焦于静态分析:

  • 不替代状态校验:TFLint 不会对比实际云端状态,因此无法发现 drift(配置漂移)。
  • 插件管理成本:使用特定 provider 的高级规则时,需要手动维护 .tflint.d 目录及对应的 Rule 插件版本。
  • 规则更新依赖:当底层 provider 更新后,现有的 TFLint 规则可能滞后,需要定期同步上游规则库。

使用场景

  • 编写或重构 Terraform 模块时,需排查可能写错的属性名称或语法错误
  • 执行 terraform apply 前,在本地做一次快速检查避免部署到环境中报错
  • 需要确保模块遵守团队内部的命名规范和安全策略
  • 为 CI/CD 流水线准备脚本,在合并请求阶段自动拦截配置问题

适合人员

  • 正在编写 Terraform 模块的开发工程师,需要确保代码符合 provider 规范
  • 负责基础设施安全的运维人员,希望在部署前发现策略违规
  • 维护 CI/CD 流水线的 DevOps 工程师,打算在合并请求阶段加入静态检查
  • 管理多人协作项目的架构师,需要统一团队的代码质量标准