【发布时间】:2018-04-28 18:51:16
【问题描述】:
我正在使用带有 consul 作为存储后端的保管库服务器,并尝试使用 terraform 中的保管库提供程序获取密码值。 但它没有获取它的价值。我将我的秘密存储在位置秘密/实例中
main.tf
provider "vault" {
address = "https://<IP_ADDRESS>:<PORT_NUMBER>"
token = "118bb796-d715-8ce4-b987-7f354ff3f5a7"
}
data "vault_generic_secret" "mypass"{
path = "secret/instances/password"
}
output "mypassword" {
value = "${data.vault_generic_secret.mypass.data["value"]}"
}
当我运行 terraform apply 它显示:
data.vault_generic_secret.mypass: Refreshing state...
data.vault_generic_secret.mypass: Refreshing state...
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
请建议我在这里做错了什么,因为它没有从保险库中获取密码值。
【问题讨论】:
-
${data.vault_generic_secret.mypass.data}的任何输出?先看看能不能拿到数据。 -
感谢您的回复。是的,我检查了建议命令的输出,它也没有像以前那样给出任何东西。
-
那么你需要检查保险库设置是否正确。
-
好的..我会检查它..
-
我检查了保险库是否适合我。我也可以使用 rest api 获取秘密值。 curl -k --header "X-VAULT-TOKEN:118bb796-d715-8ce4-b987-7f354ff3f5a7" -X GET 10.110.159.196:8200/v1/secret/instances/password {"lease_id":"","renewable":false,"lease_duration":2592000,"数据":{"excited":"yes","value":"pM0dularc"},"warnings":null,"auth":null}