使用Azure Key Vault进行Terraform获取秘密价值

exp*_*ter 3 azure terraform azure-keyvault

有什么方法可以从Azure Key Vault获取秘密的价值?

看起来好像没有value暴露在这里的密钥库秘密对象中。

Sab*_*ian 9

首先需要为 azure Key Vault 创建数据资源以获取 Key Vault 资源 ID:

data "azurerm_key_vault" "keyvault" {
  name                = "${var.keyvault_name}"
  resource_group_name = "${var.resourcegroup_name}"
}
Run Code Online (Sandbox Code Playgroud)

然后使用azurerm_key_vault_secret密钥保管库资源 ID 获取机密:

data "azurerm_key_vault_secret" "win_admin_pass" {
  name         = "${var.secret_name}"
  key_vault_id = "${data.azurerm_key_vault.keyvault.id}"
}
Run Code Online (Sandbox Code Playgroud)

请注意,不推荐使用vault_uriinazurerm_key_vault_secret并且不推荐使用。

  • 请注意,您(现在)还可以使用 `var.secret_name` 而不是 `"${var.secret_name}"`。 (2认同)

gui*_*apc 7

现在,您可以使用azurerm_key_vault_secret数据源来执行此操作

我很享受,没有任何脚本。

data "azurerm_key_vault_secret" "test" {
  name      = "secret-sauce"
  vault_uri = "https://rickslab.vault.azure.net/"
}

output "secret_value" {
  value = "${data.azurerm_key_vault_secret.test.value}"
}
Run Code Online (Sandbox Code Playgroud)