Terraform 创建天蓝色密钥保管库

问题描述 投票:0回答:3

我正在使用 Terraform 创建 KeyVault 资源。

密钥保管库策略需要参数 object_id。我不知道从哪里检索这个值。

这是我收到的错误:

Error: expected "object_id" to be a valid UUID, got 
 on modules/keyvault/main.tf line 42, in resource "azurerm_key_vault_access_policy" "policy":
 42: resource "azurerm_key_vault_access_policy" "policy" {

keyvault 的策略设置如下:

# Create an Azure Key Vault access policy
resource "azurerm_key_vault_access_policy" "policy" {
  for_each                = var.policies
  key_vault_id            = azurerm_key_vault.key-vault.id
  tenant_id               = lookup(each.value, "tenant_id")
  object_id               = lookup(each.value, "object_id")
  key_permissions         = lookup(each.value, "key_permissions")
  secret_permissions      = lookup(each.value, "secret_permissions")
  certificate_permissions = lookup(each.value, "certificate_permissions")
  storage_permissions     = lookup(each.value, "storage_permissions")
}

我正在使用 terraform 版本 0.12 和 azure 提供程序 2.35。

terraform azure-keyvault terraform-provider-azure
3个回答
2
投票

您应该能够获取object_id。如果您只是玩玩,可以对其进行硬编码。如果您使用 CI 进行部署,您可能需要考虑将其设置为变量并为您所属的组创建第二个策略。否则,您最终将根据运行器翻转策略上的 object_id,并可能产生不良影响。

provider "azurerm" {
    features {}
}

data "azurerm_client_config" "current" {
}

output "object_id" {
  value = data.azurerm_client_config.current.object_id
}

0
投票

升级到版本=“=3.42.0” 为我解决了同样的问题


0
投票

版本升级 地形/azurerm 版本=“=3.42.0”

© www.soinside.com 2019 - 2024. All rights reserved.