我们正在使用VSTS构建各种Azure Web Apps并将它们部署到不同的环境中。在发布过程中,我们正在对Web.config文件执行转换,使用存储在VSTS中的变量来处理每个环境的连接字符串等内容。
我们希望使用Azure功能做类似的事情,但我们遇到了问题。我们发现执行转换为appsettings.json文件不起作用。添加的新键/值对在Azure中不起作用,并且Azure中未加载对现有键的更改。
我查看过无数文档,并且只找到文档,说明Azure功能的应用程序设置必须使用Azure门户存储,或者在发布过程中使用PowerShell脚本进行设置。但是,这些解决方案会将连接字符串和其他秘密暴露给任何有权访问Azure门户的人,这不是我们想要的。
如何向Azure功能提供应用程序设置,例如AzureWebJobsStorage和AzureWebJobsDashboard值,而不在Azure门户上公开它们?
答案 0 :(得分:5)
但是,这些解决方案会将连接字符串和其他秘密暴露给有权访问Azure门户的任何人,这不是我们想要的。
这不是一个正确的假设。只有该功能应用程序的贡献者或管理员用户才能看到应用程序设置。这些用户可以看到所有已部署的文件,因此如果您在已部署的文件中有秘密,则它们同样可见。
使用App Setting而不是在文件中保密的好处是: