截至今天,管理诸如云提供商访问密钥和ID之类的秘密是Terraform项目中的一个悬而未决的问题(参见github issue)。每当我们运行terraform plan
或terraform apply
时,这些秘密都以明文形式存储在terraform状态文件中。有许多第三方编校和加密脚本,如terrahelp。
我的问题:Consul是存储远程terraform状态的本地后端。 是否可以使用Vault加密存储在Consul中的状态文件?我尝试搜索Terraform后端文档,但无法找到任何允许Consul使用Vault加密的配置标志州档案。
答案 0 :(得分:2)
尽管我想要这个功能,但遗憾的是我不认为这是可能的。如果您希望对整个状态文件进行加密,那么您需要选择另一个支持此开箱即用的后端,例如启用了桶加密的s3。
如果有一种官方的方法来挂钩状态文件读取/存储过程以自行合并保险库加密(或任何其他自定义要求),那也很好,但是这也是不可能的。
小站点注意:terraform plan
不会向statefile写入任何内容。这是一种只读操作,否则它不能被认为是安全的。