簡體   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