用途:为 Terraform 提供生产级安全模式,包含密钥管理、策略即代码与合规扫描三个方面。
主要能力: 密钥管理:通过 Vault provider 读取 vault_kv_secret_v2,或用 aws_secretsmanager_secret、azurerm_key_vault_secret 数据源将凭据注入资源,避免明文硬编码。 策略即代码:Sentinel 规则可限制 aws_instance 的 instance_type 仅允许白名单;OPA/Conftest 用 Rego 策略拒绝 public-read 的 S3 桶与未加密的 RDS。 安全扫描:pre-commit 集成 pre-commit-terraform(terraform_fmt、terraform_validate、terraform_tflint、terraform_checkov)与 tfsec;Checkov 通过 .checkov.yml 配置 framework、soft-fail、check 与 skip-check。 加密:使用 aws_kms_key(含 enable_key_rotation、policy)与 aws_kms_alias,为 S3 配置服务端加密、RDS 开启 storage_encrypted、默认开启 EBS 加密。 敏感数据保护:将变量与输出标记为 sensitive,并用 lifecycle ignore_changes 避免密码写入日志。
使用方式:以 Skill("terraform-security") 调用。
限制:文档未给出具体版本兼容性与平台适用范围说明;示例中的密钥、策略与扫描配置需按实际环境调整。常见问题包括密钥写入 state、策略不合规、AccessDenied(KMS 权限)与扫描误报,可参照表格给出的方向排查。