首页 > 解决方案 > 如何将从 Azure KeyVault 下载的机密作为参数传递给 Azure 函数?

问题描述

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

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

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

在此处输入图像描述

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

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未被替换。

标签: azureazure-functionsazure-pipelinesazure-keyvault

解决方案


无法在代理阶段之间共享变量。请跟进这个话题

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

在此处输入图像描述

这是我的工作日志。 在此处输入图像描述


推荐阅读