使用VSTS设置Azure功能应用程序设置,而不在Azure门户

时间:2017-04-26 11:05:48

标签: azure azure-functions azure-pipelines-release-pipeline azureportal

我们正在使用VSTS构建各种Azure Web Apps并将它们部署到不同的环境中。在发布过程中,我们正在对Web.config文件执行转换,使用存储在VSTS中的变量来处理每个环境的连接字符串等内容。

我们希望使用Azure功能做类似的事情,但我们遇到了问题。我们发现执行转换为appsettings.json文件不起作用。添加的新键/值对在Azure中不起作用,并且Azure中未加载对现有键的更改。

我查看过无数文档,并且只找到文档,说明Azure功能的应用程序设置必须使用Azure门户存储,或者在发布过程中使用PowerShell脚本进行设置。但是,这些解决方案会将连接字符串和其他秘密暴露给任何有权访问Azure门户的人,这不是我们想要的。

如何向Azure功能提供应用程序设置,例如AzureWebJobsStorage和AzureWebJobsDashboard值,而不在Azure门户上公开它们?

1 个答案:

答案 0 :(得分:5)

  

但是,这些解决方案会将连接字符串和其他秘密暴露给有权访问Azure门户的任何人,这不是我们想要的。

这不是一个正确的假设。只有该功能应用程序的贡献者或管理员用户才能看到应用程序设置。这些用户可以看到所有已部署的文件,因此如果您在已部署的文件中有秘密,则它们同样可见。

使用App Setting而不是在文件中保密的好处是:

  • 应用设置保密并在休息时加密
  • 你不太可能通过下载已部署的文件而不会意识到他们有秘密而意外泄露秘密。