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