【发布时间】: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