【问题标题】:How to pass secrets downloaded from Azure KeyVault as parameters to an Azure Function?如何将从 Azure KeyVault 下载的机密作为参数传递给 Azure 函数?
【发布时间】:2019-07-18 13:56:23
【问题描述】:

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

【问题讨论】:

  • 我对 Azure 管道不是很熟悉,但是我们直接在 Azure 函数应用设置中存储密钥保管库机密会是一种解决方法吗?
  • 查看 this section 在 Azure Pipelines 中设置和检索变量。从您提供的代码和步骤来看,您似乎没有设置变量,而是希望它被隐式设置。 Custom Variables 部分也值得一试。

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


【解决方案1】:

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

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

这是我的工作日志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-07
    • 2022-12-07
    • 2013-01-27
    • 2020-05-21
    • 1970-01-01
    • 2022-01-13
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多