2011-10-06 88 views
3

因此,當我們開始Azure遷移時,我們將web.config設置遷移到Azure配置文件.cscfgAzure配置的最佳做法?

儘管這樣做有效,並且在測試環境中非常有用,因爲我可以快速破解配置,但這在生產中似乎相當危險......因爲我可以快速破解配置。

更正式地說,這意味着任何有權訪問Azure管理控制檯的人都可以輕鬆地對生產Azure實例進行不受控制的更改。

這讓我感覺非常糟糕。

那麼在實踐中有沒有超出標準診斷字符串配置等.cscfg文件的實用程序?

+2

那麼,你在Azure管理控制檯上放誰?我希望這是一個安全的地方... –

+0

我的配置_any_ uncontrolled更改的想法讓我有點擔心。即使我們仔細控制對控制檯的訪問。 –

回答

6

我們喜歡的測試.cscfg文件的靈活性,我們不希望測試與生產有一個稍微不同的代碼庫,因爲我們相信我們的測試環境應該是生產環境的完全複製品......減去一些配置差異。

與此同時,我們對某些開發者意外刪除錯誤的部署或者更改錯誤的.c​​scfg文件/值有些偏執。爲了解決這個問題,我們創建了兩個訂閱,一個用於測試,一個用於生產。我們爲所有開發人員提供了測試訂閱的訪問權限,但只有負責部署的人才能訪問生產訂閱。

部署工程師確切知道他們在生產環境中可以做什麼和不能做什麼(重新引導/重新映射實例,刪除部署等)。他們知道生產中只需要觸及的.cscfg值是「實例計數」屬性(我們的構建服務器設置了所有其他生產.cscfg值)。

到目前爲止,這個設置對我們來說工作得非常好。

+1

這也是我們所做的。對於SOX合規性(或任何其他合規性,idk),開發人員無法訪問prod或prod配置。這也意味着我們必須有一個配置才能交給env團隊來部署軟件。一個不錯的單一cscfg文件可以讓你輕鬆完成任務。 –

0

根據您的安全&合規政策,你可能希望有一個自定義應用程序的設置解決方案的房子或許Azure存儲或SQL Azure的所有應用程序的設置...

沒有什麼額外的「推薦「但它是非常有用的應用程序設置可用於改變W/O重新部署......

爲了便於在Visual Studio環境之間切換,檢查出我最近出版的@http://www.paraleap.com/blog/post/Managing-environments-in-a-distributed-Azure-or-other-cloud-based-NET-solution.aspx

博客條目
+0

>將應用程序設置更改爲不重新部署可用於更改... <僅在測試環境中。我真的不希望這種無法控制的變化甚至有可能實現。如果我們需要在測試中調整設置,我很樂意做一個遠程桌面和黑客'web.config' ... –

0

您仍然可以使用web.config在Azure中配置您希望保持不可配置的東西。我們將二者結合起來...

沒有如此配置在這種情況下,意味着你將需要重新部署,以改變他們...

+0

我正在尋找指導什麼是「不那麼可配置」 - 你會考慮什麼? –

+0

啊...指導...很難找到... :)無論是什麼讓你感到擔憂,並不是一個問題,無法重新配置。我們有我們的數據庫連接字符串和發送電子郵件和短信配置在那裏(.cscfg),沒有別的... –

+0

...你可能也想要啓用/禁用跟蹤/登錄。 (.cscfg再次...) –

0

僅通過限制訪問Azure管理控制檯就可以真正使用整個問題。如果有幾個人需要部署,則可以創建證書供其使用,而不必授予他們對Azure管理控制檯的訪問權限。

實際上,我們的構建環境在部署到生產環境時會重新配置我們的配置文件。這基本上消除了進入管理界面的必要性,並且配置總是以相同的方式結束。