首页 > 解决方案 > Terraform - 如何在 terraform 脚本中避免 VM 的密码

问题描述

有没有办法避免在虚拟机管理员用户的 Terraform 脚本中输入密码?

我不想将密码放在脚本中并将其签入到 repo 中。

标签: terraform

解决方案


Terraform 支持将变量传递给您的脚本:

variable "vm_password" {
  description = "Your VM password"
}

这些可以通过以TF_VAR_(例如TF_VAR_vm_password)为前缀的环境变量来传递。或者你可以传递一个 tfvars 文件(当然你不会签入),它可以传递给带有-var-file标志的 terraform(例如terraform apply -var-file=myvars.tfvars)。如果没有指定这些,执行terraform apply将提示手动输入变量。

请注意,机密仍会签入到您的 Terraform 状态文件中。因此,请确保您的 Terraform 状态文件存储在安全的位置,或采取额外措施来加密您的状态文件。


推荐阅读