【问题标题】:Specify Function App Configuration with Key Vault Reference in Azure ARM Template在 Azure ARM 模板中使用 Key Vault 参考指定函数应用配置
【发布时间】:2019-10-31 22:48:29
【问题描述】:

有没有办法在我的 ARM 模板中的 Function App 配置中指定 KeyVault 引用?

我有一个 ARM 模板,它将为每个环境部署一个具有不同部署参数的 Azure Function App。目前我正在通过参数中的引用在我的环境中检索秘密:

{
"storageAccountSecret": {
    "reference": {
        "keyVault": {
             "id": "/subscriptions/plan-id-goes-here/resourceGroups/group-name-goes-here/providers/Microsoft.KeyVault/vaults/vault-name-goes-here"
         }, 
         "secretName": "super-secret-name-goes-here"
     }
}

然后我在ARM模板中引用参数,resources -> properties -> siteConfig -> appSettings

 {
   "name": "AzureWebJobsStorage",
   "value": "[parameters('storageAccountSecret')]"
 },

以上工作正常!然而,我们的团队也会定期轮换我们的密钥,这会改变秘密的基础价值。使用我目前的方法,在我们再次运行 ARM 模板之前,此函数应用配置上的秘密不会更新。

我的解决方法是在配置中使用 KeyVault Reference,在配置中使用以下语法。

@Microsoft.KeyVault(SecretUri=https://vault-name-goes-here.vault.azure.net/secrets/super-secret-name-goes-here/)

现在,当底层密码发生变化时,我的函数 App 仍将获得最新的密码。但是,这需要我手动完成。我很想只用 ARM 模板来达到同样的效果,这可能吗? ????

【问题讨论】:

    标签: azure azure-functions azure-resource-manager azure-keyvault arm-template


    【解决方案1】:

    正是出于这个原因,您应该始终使用 Key Vault 中机密的完整 URL - 包括版本。见here

    当您更新 Key Vault 中的机密时,您会获得一个新 URL。一旦您更新应用程序设置(通过您的 ARM 模板或任何其他方式),该函数将重新启动。这是更新应用设置时所需的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      • 2019-01-07
      • 2019-10-18
      • 2018-09-22
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      相关资源
      最近更新 更多