Configuration Azure配置的最佳实践?

Configuration Azure配置的最佳实践?,configuration,azure,Configuration,Azure,因此,当我们开始Azure迁移时,我们将web.config设置迁移到Azure配置.cscfg文件中 虽然这是可行的,而且在测试环境中非常有用,因为我可以快速破解配置,但这在生产环境中似乎相当危险。。。因为我可以快速破解配置 更正式地说,这意味着任何可以访问Azure管理控制台的人都可以轻松地对Azure生产实例进行不受控制的更改 我觉得这很糟糕 因此,实际上,.cscfg文件背后是否有超出标准诊断字符串配置等的实用程序?根据您的安全和法规遵从性策略,您可能希望有一个自定义应用程序设置解决方案

因此,当我们开始Azure迁移时,我们将
web.config
设置迁移到Azure配置
.cscfg
文件中

虽然这是可行的,而且在测试环境中非常有用,因为我可以快速破解配置,但这在生产环境中似乎相当危险。。。因为我可以快速破解配置

更正式地说,这意味着任何可以访问Azure管理控制台的人都可以轻松地对Azure生产实例进行不受控制的更改

我觉得这很糟糕


因此,实际上,
.cscfg
文件背后是否有超出标准诊断字符串配置等的实用程序?

根据您的安全和法规遵从性策略,您可能希望有一个自定义应用程序设置解决方案,以将您的所有应用程序设置存放在Azure存储或SQL Azure中

没有额外的“推荐”,但让应用程序设置在不重新部署的情况下可用于更改非常有用


为了便于在Visual Studio中的环境之间切换,请查看我最近发布的一篇博客文章@

您仍然可以在Azure中使用web.config来处理您希望保持不可配置的配置内容。我们把两者结合起来


在这种情况下不可配置,这意味着您需要重新部署以更改它们…

我们喜欢.cscfg文件在测试中的灵活性,我们不希望在测试和生产方面有一个稍微不同的代码库,因为我们相信我们的测试环境应该是生产环境的精确副本…减去一些配置差异

同时,我们对某些开发人员意外删除错误的部署或更改错误的.cscfg文件/值感到怀疑。为了解决这个问题,我们创建了两个订阅,一个用于测试,一个用于生产。我们允许所有开发人员访问测试订阅,但只有负责部署的开发人员才能访问生产订阅

部署工程师确切地知道他们在生产环境中可以做什么和不能做什么(重新启动/重新映像实例、删除部署等)。他们知道,在生产环境中唯一需要接触的.cscfg值是“实例计数”属性(我们的构建服务器设置所有其他生产.cscfg值)


到目前为止,这个设置对我们来说非常有效。

整个问题实际上可以通过限制对Azure管理控制台的访问来解决。如果有几个人需要能够部署,您可以创建证书以供使用,而不是让他们访问Azure管理控制台


当我们部署到生产环境时,我们实际上让构建环境重新配置配置文件。这基本上消除了进入管理UI的需要,配置结果总是一样的。

那么,你让谁进入Azure管理控制台呢?我希望这是一个安全的地方……对我的配置进行任何不受控制的更改的想法让我有点担心。即使我们小心地控制对控制台的访问。>让应用程序设置在不重新部署的情况下进行更改是非常有用的…<仅在测试环境中。我真的不想让不受控制的变化变成现实。如果我们需要调整测试中的设置,我很乐意做一个远程桌面和黑客<代码> Web.CONFIG……我正在寻找什么是“不可配置”的指导-你会考虑什么?指导。。。很难找到……:)不管是什么让你担心,不能重新配置也不是问题。我们在那里有数据库连接字符串和发送电子邮件和短信配置(.cscfg),其他什么都没有……您可能还希望能够在那里启用/禁用跟踪/登录。(.cscfg再次…)这也是我们所做的。对于SOX合规性(或任何其他合规性,idk),开发人员不能访问prod或prod配置。这也意味着我们必须有一个单独的配置,以交给env团队与软件一起部署。一个漂亮的cscfg文件使这项任务变得简单。