获取 Azure 密钥保管库证书仅适用于本地计算机
Getting Azure key vault certificates works only from local machine
我正在使用身份服务器来处理托管在 MS Azure 中的应用程序的登录。我正在使用 Azure 密钥保管库来存储我的证书。当我尝试从本地计算机上的 Azure Key Vault 获取证书时,一切正常,但在部署到服务器后,我收到如下所述的错误。
我已经学习了这个教程:https://damienbod.com/2020/04/09/using-certificates-from-azure-key-vault-in-asp-net-core/
我已经创建了 Azure AD 并将我的应用程序注册到其中。我还创建了 Azure Key Vault,将我的应用程序添加到 Key Vault 访问原则中,并在我的应用程序服务中允许系统分配身份。
当我在服务器上部署此应用程序时出现此错误
在密钥保管库中,我允许了此应用的所有权限
是否还有一些设置需要在部署前完成?
谢谢。
为您的应用服务启用系统分配的标识后,您还需要使用正确的证书权限将其添加到密钥库的 Access policies
(只需导航到 Access policies
,搜索网络应用程序名称并添加它)。
您提供的示例使用 AzureServiceTokenProvider
,当您将代码部署到应用服务时,它应该使用系统分配的身份来访问您的密钥库。
要让它工作,您还需要在您的应用程序服务中使用 RunAs=App
指定 AzureServicesAuthConnectionString
环境变量,请参阅此 link。
我正在使用身份服务器来处理托管在 MS Azure 中的应用程序的登录。我正在使用 Azure 密钥保管库来存储我的证书。当我尝试从本地计算机上的 Azure Key Vault 获取证书时,一切正常,但在部署到服务器后,我收到如下所述的错误。
我已经学习了这个教程:https://damienbod.com/2020/04/09/using-certificates-from-azure-key-vault-in-asp-net-core/
我已经创建了 Azure AD 并将我的应用程序注册到其中。我还创建了 Azure Key Vault,将我的应用程序添加到 Key Vault 访问原则中,并在我的应用程序服务中允许系统分配身份。
当我在服务器上部署此应用程序时出现此错误
在密钥保管库中,我允许了此应用的所有权限
是否还有一些设置需要在部署前完成?
谢谢。
为您的应用服务启用系统分配的标识后,您还需要使用正确的证书权限将其添加到密钥库的 Access policies
(只需导航到 Access policies
,搜索网络应用程序名称并添加它)。
您提供的示例使用 AzureServiceTokenProvider
,当您将代码部署到应用服务时,它应该使用系统分配的身份来访问您的密钥库。
要让它工作,您还需要在您的应用程序服务中使用 RunAs=App
指定 AzureServicesAuthConnectionString
环境变量,请参阅此 link。