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

标签 terraform

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

最佳答案

使用 AWS 提供商作为示例。

建议将.tfstate文件保存到s3 bucket中,并在上面设置策略,只有提名角色才有权限访问这个bucket和相关的kms key。

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 存储桶上启用版本控制

关于terraform - 如何在 terraform 中加密密码或敏感数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48892068/

相关文章:

terraform - 如何根据条件从 terraform 0.12 中的 map 列表中获取值

azure - 如何在 terraform 中禁用应用程序配置的公共(public)访问

amazon-web-services - terraform 远程状态

amazon-web-services - 如何使用 Terraform 创建与 AWS S3 的 Snowflake 存储集成?

terraform - CDK/Cloudformation 共享状态

terraform - Terraform 中 for_each 的条件

postgresql - 通过 Terraform 创建 RDS 实例后向数据库添加 Postgresql 角色

terraform - 如何让 Terraform 在 Docker 容器之前启动 Docker 网络

google-cloud-platform - 尝试在 GCP 中模拟服务帐户时出现错误 403、 "The caller does not have permission"

azure - WinRM 与远程执行连接超时 - Azure Terraform