17、使用 Terraform 进行密钥管理

使用 Terraform 进行密钥管理

1. 密钥管理基础

密钥管理的首要规则是:切勿以明文形式存储密钥。再次强调,绝对不要这么做。例如,不要将数据库凭证硬编码到 Terraform 代码中并提交到版本控制系统,示例代码如下:

resource "aws_db_instance" "example" {
  identifier_prefix   = "terraform-up-and-running"
  engine              = "mysql"
  allocated_storage   = 10
  instance_class      = "db.t2.micro"
  skip_final_snapshot = true
  db_name             = var.db_name
  # DO NOT DO THIS!!!
  username = "admin"
  password = "password"
  # DO NOT DO THIS!!!
}

以明文形式在版本控制系统中存储密钥存在诸多弊端:
- 访问权限无限制 :任何有权限访问版本控制系统的人都能获取该密钥。在上述示例中,公司里所有能访问该 Terraform 代码的开发人员都将获得数据库的主凭证。
- 多设备留存副本 :所有能访问版本控制系统的计算机都会保存该密钥的副本。包括团队中每个开发人员的计算机、参与持续集成(CI)的所有计算机(如 Jenkins、CircleCI、GitLab 等)、参与版本控

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值