如何在 Azure Vault 中存储连接字符串并将其映射回 Azure Web App 中的配置设置?

How to store connection string in Azure Vault and map it back to the configuration settings in Azure Web App?

我正在使用 Azure Web App 服务。目前,我将纯连接字符串存储到数据库,Azure 存储在 Web 应用服务配置选项卡的应用程序设置部分。

而不是在配置中存储纯连接字符串。如何将连接字符串存储在 Azure Vault 中,然后在应用程序设置中引用它,以便普通连接字符串不存储在配置设置中?

有两种方法可以在 Azure Web 应用程序中引用 Key Vault。你可以做一个完整的参考:

@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)

或者您可以使用替代方法:

@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)

为了从 Key Vault 中读取机密,您需要创建一个保管库并授予您的应用访问它的权限。

  1. 按照 Key Vault 快速入门创建密钥保管库。

  2. 为您的应用程序创建托管标识。

    • 默认情况下,Key Vault 引用将使用应用的系统分配标识,但您可以指定 user-assigned 标识。
  3. 在 Key Vault 中为您之前创建的应用程序标识创建访问策略。启用此策略的“获取”秘密权限。不要配置“授权应用程序”或 applicationId 设置,因为这与托管身份不兼容。

设置的完整步骤: https://docs.microsoft.com/en-us/azure/app-service/app-service-key-vault-references