如何将从Azure KeyVault下载的机密作为参数传递给Azure函数?

时间:2019-07-17 18:02:57

标签: azure azure-functions azure-pipelines azure-keyvault

在Azure发布管道中,我试图下载作为秘密存储在Azure KeyVault中的密码,然后在调用Azure应用程序功能时将该密码作为参数传递。

我已经在Azure中创建了一个包含3个任务的发布管道:前两个在代理上运行:

1. Deploy an Azure Function App
2. Download secrets from an Azure Key Vault.

enter image description here

最终任务作为无代理作业运行:

3. Invoke Azure Function

我正在下载的秘密的名称为e-password

在调用Azure函数时的查询参数中,我添加了以下内容:

`password=$(e-password)`

我希望可以替换从Key Vault下载的机密的值,但是所调用的URL却显示为:

`https://<my app's name>.azurewebsites.net/api/HttpTrigger?password=$(e-password)`

e-password的值不被替换。

1 个答案:

答案 0 :(得分:2)

无法在代理程序阶段之间共享变量。请继续关注此topic

此问题的解决方法是,您可以创建一个Variable group,该链接将Azure密钥库中的机密作为变量链接,然后在管道中链接Variable组。之后,您可以在url参数中使用变量。

enter image description here

这是我的工作日志。 enter image description here