如何在连接字符串中使用机密 Azure 发布管道 - 使用 Azure 应用服务设置任务
How you do use Secrets in a Connection String Azure Release Pipeline - Using Azure App Service Settings Task
我正在 Web 应用的发布管道中使用 Azure 应用服务设置任务。我需要设置连接字符串。
根据帮助图标,它需要 JSON 语法
{
"name": "key1",
"value": "valueabcd",
"type": "MySql",
"slotSetting": false
}
我想从链接到 Azure Key Vault 的变量组或从 KeyVault 或什至只是一个管道变量中提取“值”。我只是希望它是安全的。
我 运行 遇到的问题是如何将变量传递给 JSON 如果它是秘密的。如果我这样做
{
"name": "ConnectionStringName",
"value": "$(DBConnectionString)",
"type": "SQLAzure",
"slotSetting": false
}
那么连接字符串就是$(DBConnectionString)。您不能删除引号,因为这样就不合适 JSON。它与它是一个秘密的事实有关,因为它适用于常规变量。我已经阅读了几篇关于如何以不同方式使用秘密的文章,但无法将它们应用于我正在做的事情。
我附上了一张屏幕截图,以帮助解释我在哪里看到的。
我运行发布管道:
[
{
"name": "MysqlCredentials",
"value": "$(MySQl_ConnectionString)",
"type": "MySql",
"slotSetting": false
}
]
在变量中设置了变量:
然后我得到:
因此,如果您没有替换它,则可能意味着您没有定义变量。
我保密了:
它仍然有效:
我想出了一个适用于我的场景的解决方案。我将连接字符串放在 Vault 中,并在我的 Azure App Service 设置任务之前添加了 Azure Key Vault 任务,然后标准变量 sub 开始工作。
我正在 Web 应用的发布管道中使用 Azure 应用服务设置任务。我需要设置连接字符串。
根据帮助图标,它需要 JSON 语法
{
"name": "key1",
"value": "valueabcd",
"type": "MySql",
"slotSetting": false
}
我想从链接到 Azure Key Vault 的变量组或从 KeyVault 或什至只是一个管道变量中提取“值”。我只是希望它是安全的。
我 运行 遇到的问题是如何将变量传递给 JSON 如果它是秘密的。如果我这样做
{
"name": "ConnectionStringName",
"value": "$(DBConnectionString)",
"type": "SQLAzure",
"slotSetting": false
}
那么连接字符串就是$(DBConnectionString)。您不能删除引号,因为这样就不合适 JSON。它与它是一个秘密的事实有关,因为它适用于常规变量。我已经阅读了几篇关于如何以不同方式使用秘密的文章,但无法将它们应用于我正在做的事情。
我附上了一张屏幕截图,以帮助解释我在哪里看到的。
我运行发布管道:
[
{
"name": "MysqlCredentials",
"value": "$(MySQl_ConnectionString)",
"type": "MySql",
"slotSetting": false
}
]
在变量中设置了变量:
然后我得到:
因此,如果您没有替换它,则可能意味着您没有定义变量。
我保密了:
它仍然有效:
我想出了一个适用于我的场景的解决方案。我将连接字符串放在 Vault 中,并在我的 Azure App Service 设置任务之前添加了 Azure Key Vault 任务,然后标准变量 sub 开始工作。