如何加密terraform中的密码或敏感数据?

时间:2018-02-20 18:35:45

标签: terraform

我想为它的aws创建rds实例和整个必需的基础设施。我无法理解terraform的安全部分。我想至少加密.tfstate中的敏感数据。例如:rds实例的密码/用户名等。为.tfstate存储敏感数据的最佳方法是什么?如果不支持,请建议其他方法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

使用AWS提供商作为样本。

建议将.tfstate文件保存到s3存储桶并在其上设置策略,只有指定角色才有权访问此存储桶和相关的kms密钥。

terraform {
  required_version = "~> 0.10"

  backend "s3" {
    bucket  = "<global_unique_bucket_name>"
    key     = "development/vpc.tfstate"
    region  = "ap-southeast-2"
    kms_key_id = "alias/terraform"
    encrypt = true
  }
}

始终在该s3存储桶上启用version control