首页 > 解决方案 > 使用 ARM 模板 (CICD) 部署逻辑应用时出现错误 KeyVaultParameterReferenceAuthorizationFailed

问题描述

我创建的 Key Vault 位于另一个资源组中,我正在将 Logic 应用程序部署到其他资源组,在该资源组中我将密钥值秘密引用为:

>    "azureblob_1_accessKey": {
>       "reference": {
>         "keyVault": {
>           "id": "/subscriptions/5a7084cb-3357-4ee0-b28f-a3230de8b337/resourceGroups/test/providers/Microsoft.KeyVault/vaults/KeyVault"
>         },
>         "secretName": "AppSettings--StorageAccessValue--DEV"
>       }
>     },

我正在使用 CICD 部署逻辑应用程序,但在发布定义中我收到以下错误:

KeyVaultParameterReferenceAuthorizationFailed:对象 id 为“648fa2cc-6cd1-49fa-a11a-ad6a276916cc”的客户端“648fa2cc-6cd1-49fa-a11a-ad6a276916cc”无权对指定执行操作“MICROSOFT.KEYVAULT/VAULTS/DEPLOY/ACTION” KeyVault 资源“/subscriptions/5a7084cb-3357-4ee0-b28f-a3230de8b337/resourceGroups/test/providers/Microsoft.KeyVault/vaults/KeyVault”。有关使用详情,请参阅https://aka.ms/arm-keyvault。不明确的

**

如何查找与错误给出的 ID 相关的资源?

**

标签: azureazure-devopsazure-functionsazure-logic-appsarm-template

解决方案


根据错误,用户没有Microsoft.KeyVault/vaults/deploy/action权限。

如果模板部署中引用了密钥保管库,则应注意:

1.确定enabledForTemplateDeploymenttrue,你可以在门户中查看,参考截图。

在此处输入图像描述

2 .确保部署模板的用户必须具有Microsoft.KeyVault/vaults/deploy/action包含 Key Vault 的范围的权限,包括资源组和 Key Vault。和角色OwnerContributor授予此访问权限。

要添加权限,您可以使用基于角色的访问控制 (RBAC)来完成,导航到Access control (IAM)门户中的 -> Add,选择角色OwnerContributor。此外,您还可以创建具有最低权限的角色,并分配用户,请参阅此链接

有关详细信息,请参阅:使用 Azure Key Vault 在部署期间传递安全参数值


推荐阅读