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

Dav*_*mid 3 azure azureportal azure-functions azure-pipelines-release-pipeline

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

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

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

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

Dav*_*bbo 5

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

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

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

  • 应用程序设置保密并在静止时加密
  • 通过下载已部署的文件而不会发现它们有秘密,您不太可能意外泄露秘密.