You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AzAPI Provider的Terraform脚本中为Azure Function指定用户分配托管标识

解决方法

在Terraform的AzAPI资源配置中,userAssignedIdentities是以托管标识资源ID为键、空对象为值的字典结构。你可以通过Terraform的插值语法将var.myManagedIdentity作为动态键填入,具体修改如下:

resource "azapi_resource" "function_apps" {
  type                     = "Microsoft.Web/sites@2024-04-01"
  schema_validation_enabled = false
  location                 = var.location
  name                     = var.FunctionAppName
  parent_id                = var.resourcegroup
  body = {
    kind = "functionapp,linux"
    identity = {
      type = "UserAssigned"
      // 填入用户分配托管标识
      userAssignedIdentities = {
        "${var.myManagedIdentity}" = {}
      }
    }
    // 保留你的其他配置...
  }
}

variable "myManagedIdentity" {
  type    = string
  default = "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}"
}

补充说明

  • 如果需要绑定多个用户分配托管标识,只需在userAssignedIdentities中添加更多键值对即可:
    userAssignedIdentities = {
      "${var.myManagedIdentity1}" = {}
      "${var.myManagedIdentity2}" = {}
    }
    
  • 这里的空对象{}是Azure API要求的格式,不需要填充任何属性,只需确保键是托管标识的完整资源ID即可。

内容的提问来源于stack exchange,提问作者BlackMiracle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:46:07