如何从 Azure Key Vault 读取和更新 Azure Logic App parameters.json 文件中的机密信息

How to read and update secrets information in parameters.json file of Azure Logic App from Azure Key Vault

我有 Azure 逻辑应用程序,它使用当一条或多条消息到达队列(窥视锁定)连接器时处理来自基于服务总线会话的队列的消息,然后插入到 SQL 数据库中。

注意:在 Azure 逻辑应用程序中,这是当一条或多条消息到达队列(窥视锁定)时的第一个触发器。

我想保护 Azure 服务总线和 Azure SQL 数据库的连接字符串。为此,我使用 Azure Key Vault 来存储 Azure 服务总线和 Azure SQL 数据库的连接字符串信息。

我已按照此 documentation 从 Azure Key Vault 读取机密。

但是我想使用parameters.json文件中的机密信息。因为目前我已经在 parameters.json 文件中硬编码了 Azure 服务总线和 Azure SQL 数据库的连接字符串。

那么,谁能建议我从 Azure Key Vault 读取和更新 Azure 逻辑应用程序 parameters.json 文件中的机密信息。

Azure 资源管理器模板允许将参数与 KeyVault 集成以从中提取机密。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/key-vault-parameter?tabs=azure-cli

应该是这样的

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "adminLogin": {
        "value": "exampleadmin"
      },
      "adminPassword": {
        "reference": {
          "keyVault": {
          "id": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"
          },
          "secretName": "ExamplePassword"
        }
      },
      "sqlServerName": {
        "value": "<your-server-name>"
      }
  }
}

记得添加 Logic Apps secret obfuscation

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-securing-a-logic-app#secure-data-in-run-history-by-using-obfuscation