【问题标题】:How to create secret in existing keyvault with Terraform?如何使用 Terraform 在现有的密钥库中创建秘密?
【发布时间】:2022-01-02 22:25:41
【问题描述】:

我有一个简单的 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 消息是什么意思?

【问题讨论】:

    标签: azure terraform azure-keyvault


    【解决方案1】:

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

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

    这将解决您的问题。

    【讨论】:

      猜你喜欢
      • 2021-10-26
      • 2023-01-20
      • 2022-11-02
      • 2020-12-04
      • 2018-09-19
      • 1970-01-01
      • 2021-08-09
      • 2020-06-08
      • 1970-01-01
      相关资源
      最近更新 更多