2016-09-23 161 views
6

我跟着Safe storage of app secrets during development指南在發展過程中asp.net文檔,但它並沒有描述如何使用它發佈到另一臺機器的質量保證,生產,等等。當我認爲它會在發佈期間將它們插入到appsettings.json中,但它不會。我最終不得不將SendGrid密鑰和其他敏感信息直接放到appsettings.json中,這實際上破壞了應用程序機密的目的。如何部署ASP.NET核心UserSecrets生產

使用應用程序的祕密是最好的方式還是有另一種方法來存儲API密鑰和SQL用戶/密碼在我的配置?

+0

我想你應該在你想運行你的項目首次每臺機器重新創建。 –

+0

只有當某個環境變量設置爲開發時纔會應用用戶機密 –

+2

從您的鏈接中,_ Secret Manager工具不會加密存儲的機密,因此不應將其視爲可信存儲。它僅用於開發目的。這只是爲了防止在您的回購代碼中犯下祕密。在生產中將祕密值設置爲appsettings或env變量或任何其他配置源。 –

回答

4

不要在生產中使用應用程序祕密。永遠。正如文章所述,在發展期間。

如何在生產環境中發佈祕密取決於您的生產環境。 Linux,Windows和Azure都支持環境變量 - 這就是你的祕密應該去的地方,使用你的託管服務提供商提供給你的任何UI。

app settings documentation進入這個更詳細

+0

雖然不如部署配置文件那麼簡單,但我明白爲什麼要使用環境變量。 –