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

为Key Vault添加跨资源组object ID的多访问策略遇错误求助

问题排查与解决

错误原因

你遇到的“资源组中找不到应用”错误,核心问题是引用跨资源组的函数应用托管标识时,未指定目标资源组:
ARM模板里的reference函数默认会在当前部署的资源组(也就是Key Vault所在的资源组)中查找资源,而第二个函数应用属于另一资源组,直接用原路径查找自然找不到。

修复步骤

  1. 添加跨资源组参数:先在模板的parameters节点里新增一个参数,用来存储另一个资源组的名称:
"parameters": {
    // 保留你已有的其他参数
    "anotherResourceGroupName": {
        "type": "string",
        "metadata": {
            "description": "托管第二个函数应用的资源组名称"
        }
    }
}
  1. 修正跨资源组引用路径:针对第二个访问策略里的reference调用,改用resourceId函数指定目标资源组,再传递给reference。修改后的访问策略部分代码如下:
"accessPolicies": [
    {
        // 同资源组的函数应用标识引用(无需修改)
        "tenantId": "[reference(concat('Microsoft.Web/sites/', variables('functionName'), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2015-08-31-PREVIEW').tenantId]",
        "objectId": "[reference(concat('Microsoft.Web/sites/', variables('functionName'), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2015-08-31-PREVIEW').principalId]",
        "permissions": {
            "secrets": ["get", "list"]
        }
    },
    {
        // 跨资源组的函数应用标识引用(已修正)
        "tenantId": "[reference(resourceId(parameters('anotherResourceGroupName'), 'Microsoft.Web/sites', variables('functionNameAnotherRg')), '2015-08-31-PREVIEW').tenantId]",
        "objectId": "[reference(resourceId(parameters('anotherResourceGroupName'), 'Microsoft.Web/sites', variables('functionNameAnotherRg')), '2015-08-31-PREVIEW').principalId]",
        "permissions": {
            "secrets": ["get", "list"]
        }
    }
]
  1. 权限验证:确保执行模板部署的账号,拥有读取另一资源组中函数应用托管标识的权限(比如Reader角色),否则会因为权限不足导致引用失败。

完整修复后的模板核心片段

"parameters": {
    "vaultName": {
        "type": "string",
        "metadata": {
            "description": "Key Vault名称"
        }
    },
    "anotherResourceGroupName": {
        "type": "string",
        "metadata": {
            "description": "托管第二个函数应用的资源组名称"
        }
    }
},
"variables": {
    "functionName": "你的同组函数应用名称",
    "functionNameAnotherRg": "你的跨组函数应用名称"
},
"resources": [
    {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2021-11-01-preview",
        "name": "[parameters('vaultName')]",
        "location": "[resourcegroup().location]",
        "properties": {
            "sku": {
                "family": "A",
                "name": "standard"
            },
            "tenantId": "[subscription().tenantId]",
            "accessPolicies": [
                {
                    "tenantId": "[reference(concat('Microsoft.Web/sites/', variables('functionName'), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2015-08-31-PREVIEW').tenantId]",
                    "objectId": "[reference(concat('Microsoft.Web/sites/', variables('functionName'), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2015-08-31-PREVIEW').principalId]",
                    "permissions": {
                        "secrets": ["get", "list"]
                    }
                },
                {
                    "tenantId": "[reference(resourceId(parameters('anotherResourceGroupName'), 'Microsoft.Web/sites', variables('functionNameAnotherRg')), '2015-08-31-PREVIEW').tenantId]",
                    "objectId": "[reference(resourceId(parameters('anotherResourceGroupName'), 'Microsoft.Web/sites', variables('functionNameAnotherRg')), '2015-08-31-PREVIEW').principalId]",
                    "permissions": {
                        "secrets": ["get", "list"]
                    }
                }
            ],
            "enabledForDeployment": false,
            "enabledForDiskEncryption": false,
            "enabledForTemplateDeployment": true,
            "enableSoftDelete": true,
            "softDeleteRetentionInDays": 90
        }
    }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:35:18