2

terraform を使用して、プライベート オープンスタック クラウドにサーバーをプロビジョニングしています。terraform を実行するには、terraform スクリプトが openstack クラウドのユーザー名とパスワードにアクセスできる必要があります。したがって、この情報を秘密のファイルに保存し、これを暗号化したいと思います (ansible Vault のラインに沿ったもの)。ただし、hashicorp ボールトを terraform で使用するために私が見つけた唯一の例はAWSです。では、openstack インスタンスのプロビジョニングに使用する 2 つの変数を含むボールト値を読み取ることができる Terraform スクリプトを作成するにはどうすればよいでしょうか?

参考までに、Vault シークレット バックエンドをマウントする方法を次に示します。

vault mount generic

私のシークレットは次のようになります (json ファイルに書き込まなかった場合)。

vault write generic/logins usernames=myUserName psswrds=myPassword

4

1 に答える 1

2

Terraform 0.8 にはVault プロバイダーが含まれます。

data "vault_generic_secret" "login" {
  path = "generic/logins"
}

provider "something" {
  user = "${data.vault_generic_secret.login.data["username"]}"
  pass = "${data.vault_generic_secret.login.data["password"]}"
}
于 2016-12-12T16:09:45.940 に答える