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

如何通过ARM模板为App Service系统托管标识分配App Configuration数据读取者角色

用ARM模板为App Service添加App Configuration角色分配

要通过ARM模板实现你在Azure门户中完成的角色分配操作,需要使用**Microsoft.Authorization/roleAssignments**资源类型(这是Azure IAM角色分配的通用资源,并非App Configuration专属,所以你之前查看的文档里没有相关内容)。

准备必要的ID信息

  • App Configuration资源ID:可在Azure门户的App Configuration概览页获取,或通过Azure CLI命令az resource show --resource-group <资源组名> --name <App配置名称> --resource-type Microsoft.AppConfiguration/configurationstores --query id -o tsv获取
  • App Service系统托管标识ID:在App Service的「身份」页获取,或通过Azure CLI命令az webapp identity show --resource-group <资源组名> --name <App服务名称> --query principalId -o tsv获取
  • App Configuration Data Reader内置角色ID:固定值为51623b76-7f4b-4e0b-b278-0fda36d71a7a

ARM模板示例

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "appConfigResourceId": {
      "type": "string",
      "metadata": {
        "description": "目标App Configuration的资源ID"
      }
    },
    "appServiceManagedIdentityPrincipalId": {
      "type": "string",
      "metadata": {
        "description": "App Service系统托管标识的Principal ID"
      }
    },
    "roleAssignmentName": {
      "type": "string",
      "defaultValue": "[guid(parameters('appConfigResourceId'), parameters('appServiceManagedIdentityPrincipalId'), '51623b76-7f4b-4e0b-b278-0fda36d71a7a')]",
      "metadata": {
        "description": "角色分配的唯一名称,可自动生成GUID"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2022-04-01",
      "name": "[parameters('roleAssignmentName')]",
      "scope": "[parameters('appConfigResourceId')]",
      "properties": {
        "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/51623b76-7f4b-4e0b-b278-0fda36d71a7a')]",
        "principalId": "[parameters('appServiceManagedIdentityPrincipalId')]",
        "principalType": "ServicePrincipal"
      }
    }
  ]
}

关键字段说明

  • scope:指定角色分配的作用范围,这里指向你的App Configuration资源
  • roleDefinitionId:拼接内置角色的完整ID,结合当前订阅ID生成
  • principalId:填入App Service托管标识的Principal ID
  • roleAssignmentName:用GUID保证唯一性,避免重复部署报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:01:29