我已使用 Vault UI 创建了密钥/秘密对。
如何通过 Terraform 从 Vault 获取秘密?
您需要定义一个保管库提供商,并将其作为数据对象获取。这是一个简单的例子:
provider "vault" {
address = "https://my-vault-address.com"
skip_tls_verify = true
token = "xxx"
}
data "vault_generic_secret" "my_secret" {
path = "secret/path/to/mysecret"
}
然后为了使用它:
...
pass = data.vault_generic_secret.my_secret.data["password"]
...
这里有一个关于如何使用 TF 处理 Vault 机密的有趣方法:https://blog.gitguardian.com/terraform-project-for-managing-vault-secrets-in-a-kubernetes-cluster/