如何在链接模板中使用 Azure Key Vault 机密

How do I use Azure Key Vault secret in linked template

我正在尝试创建 KeyVault 机密的自动化变量。我假设我可能可以做与当前在主模板中所做的相同的事情来检索 windows 密码,但它失败并出现下面的非描述性错误。不确定下一步应该做什么来排除故障。

错误

{
  "code": "BadRequest",
  "message": "{\"Message\":\"The request is invalid.\",\"ModelState\":{\"variable.properties.value\":[\"An error has occurred.\"]}}"
}

模板

{
                  "name": "mystring",
                  "type": "variables",
                  "apiVersion": "2015-10-31",
                  "dependsOn": [
                    "[concat('Microsoft.Automation/automationAccounts/', parameters('AutomationAccountName'))]"
                  ],
                  "properties": {
                    "value": {
                      "reference": {
                        "keyVault": {
                          "id": "[resourceId(subscription().subscriptionId, 'Utility-RG', 'Microsoft.KeyVault/vaults', 'MyKeyVault')]"
                        },
                        "secretName": "WindowsPasswordSecret"
                      }
                    },
                    "description": "test var",
                    "isEncrypted": false
                  }
                }

这个错误确实很有帮助,虽然我不知道那里出了什么问题,但我可以告诉你如何解决这个问题,你需要将数据从 KV 传递到模板(作为输入参数)而不是资源。并在模板中使用参数为相关对象赋值。

参考:https://github.com/4c74356b41/bbbb-is-the-word/blob/master/_arm/parent.json#L151