【发布时间】:2021-05-23 09:46:06
【问题描述】:
我正在使用认知服务和 keyvault 创建 Azure Key Vault。我将认知服务的密钥放在密钥库机密中,我想使用应用程序设置来恢复此密钥。
因此,我的应用无法解析密钥。所有通信都通过私有端点和 vnet 集成。
我遵循本文中的所有步骤:
有人可以帮助我吗?
问候
【问题讨论】:
标签: azure-web-app-service azure-keyvault
我正在使用认知服务和 keyvault 创建 Azure Key Vault。我将认知服务的密钥放在密钥库机密中,我想使用应用程序设置来恢复此密钥。
因此,我的应用无法解析密钥。所有通信都通过私有端点和 vnet 集成。
我遵循本文中的所有步骤:
有人可以帮助我吗?
问候
【问题讨论】:
标签: azure-web-app-service azure-keyvault
该错误表示您的 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
【讨论】: