Azure Web 应用程序配置设置中的“Key Vault 访问被拒绝”

“Key vault access denied” in azure web app configuration setting

我正在创建一个带有认知服务和密钥保管库的 Azure Key Vault。我将认知服务的密钥放在密钥保管库机密中,我想使用应用程序设置恢复此密钥。

因此,我的应用无法解析密钥。所有通信都通过专用端点和 vnet 集成。

我按照本文中的所有步骤操作:

https://azure.github.io/AppService/2021/04/22/Site-with-secure-backend-communication.html#getting-started

有人可以帮助我吗?

此致

该错误表示您的 Web 应用程序的托管身份没有访问 keyvault 机密的权限,如果您在博客中使用 azure CLI 创建 keyvault,请确保使用 --enable-rbac-authorization 参数。

az keyvault create --resource-group securebackendsetup --name securekeyvault2021 --location westeurope --sku standard --enable-rbac-authorization

并已将 Key Vault Secrets User 分配给托管身份。

az webapp identity assign --resource-group securebackendsetup --name securebackend2021 --scope $kv_resource_id --role  "Key Vault Secrets User"

如果您使用的是之前创建的密钥保管库,请确保在门户中的密钥保管库中选择了 Azure role-based access control

然后将 web 应用程序的托管身份分配给 keyvault 作为 Key Vault Secrets User 角色,您可以在您的 web 应用程序中找到 <managed-identity-objectId> -> 门户中的 Identity

az role assignment create --role "Key Vault Secrets User" --assignee-object-id <managed-identity-objectId> --scope $kv_resource_id