首页 > 解决方案 > 用于 Key Vault 访问的 ADF 托管标识

问题描述

我正在尝试使用带有 Terraform 的 Azure Key Vault 创建 Azure 数据工厂,但是当我尝试为 Key Vault 访问提供系统分配的 ADF id 时,我收到以下错误:

错误:无效索引

  on Keyvault.tf line 46, in resource "azurerm_key_vault_access_policy" "adfaccess":
  46:   object_id    = azurerm_data_factory.datafactory.identity[0].principal_id
    |----------------
    | azurerm_data_factory.datafactory.identity is empty list of object
The given key does not identify an element in this collection value.

代码片段:

resource "azurerm_data_factory" "datafactory" {
  name                = "${local.prefix_kebab}"
  location            = azurerm_resource_group.RG.location
  resource_group_name = azurerm_resource_group.RG.name
  identity {
    type = "SystemAssigned"
  }
}

resource "azurerm_key_vault_access_policy" "adfaccess" {
  key_vault_id = azurerm_key_vault.appvault.id
  tenant_id    = data.azurerm_client_config.current.tenant_id
  object_id    = azurerm_data_factory.datafactory.identity.0.principal_id
  key_permissions = [
    "get", "list", "update", "delete",
  ]
  secret_permissions = [
     "get", "list"
  ]
  lifecycle {
    prevent_destroy  = true
  }
}

预期行为:

它应该在密钥保管库访问策略中创建一个 adf 身份条目

标签: terraformazure-data-factoryazure-data-factory-2azure-keyvault

解决方案


推荐阅读