繁体   English   中英

如何使用 Terraform 在现有密钥库中创建机密?

[英]How to create secret in existing keyvault with Terraform?

我有一个简单的 Terraform 配置来在 Azure 密钥库中创建秘密。

provider "azurerm" {
  features {}
}

data "azurerm_key_vault" "SomeApp-DEV" {
  name = "SomeApp-DEV"
  resource_group_name = "SomeApp"
}

resource "azurerm_key_vault_secret" "test-secret" {
  name = "some-key"
  value = "test value"
  key_vault_id = data.azurerm_key_vault.SomeApp-DEV
}

terraform plan之后,我收到以下错误:

Error: Incorrect attribute value type

  on secret.tf line 13, in resource "azurerm_key_vault_secret" "test-secret":
  13:   key_vault_id = data.azurerm_key_vault.SomeApp-DEV
    ├────────────────
    │ data.azurerm_key_vault.SomeApp-DEV is object with 17 attributes

Inappropriate value for attribute "key_vault_id": string required.

如何让它发挥作用? 我不知道这个object with 17 attributes是什么意思?

当您使用命名空间data.<type>.<name>访问导出的属性时,您将访问从该数据导出的整个 Map 属性(资源的导出属性也是如此)。 在这种情况下,您只需要id的字符串,其值分配给导出属性的 Map 中的键id

resource "azurerm_key_vault_secret" "test-secret" {
  name = "some-key"
  value = "test value"
  key_vault_id = data.azurerm_key_vault.SomeApp-DEV.id
}

这将解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM