Terraform:添加特定于资源的机密

时间:2019-10-12 20:43:19

标签: terraform

我知道您可以通过terraform变量将一般机密传递给资源。有没有办法配置在资源级别更改的机密?

具体来说,我使用terraform作为应用程序的后端,该应用程序允许用户使用密码来设置服务器。每个服务器的密码都不相同。是否可以通过某种方式为单个实例设置类似.encode('ASCII')的内容,

  1. 在我跟踪terraform文件的github存储库中不可见

  1. 可以针对每个实例进行更改

现在,我将要创建self.password之类的terraform文件,但是如果感觉应该有更好的方法

有关用例的更多细节:

我有一个Web应用程序为运行另一个Web应用程序的用户设置服务器。该服务器的密码由我的应用程序设置。现在,使用我想移植到terraform的设置脚本配置了密码。

每个服务器的密码都会更改,因为用户只能设置其服务器的密码,并且该变量不会影响其他资源

这是用户尝试配置服务器时预期输出的超简化版本

password=var.{unique_id}_password

1 个答案:

答案 0 :(得分:0)

您可以使用random_password提供程序来生成随机字符串。 参考:https://www.terraform.io/docs/providers/random/r/password.html

不确定您的用例是否需要管理或存储密码,但这也可以根据您的需要进行。我看到您正在使用DO来供应资源。

也许您可以将Hashicorp Vault放在适当的位置来管理随机生成的密码。我是一个AWS人员,所以我会将密码保留在Secrets Manager中。