我正在開發(fā)一個基于 Docker 和微服務(wù)的新 ASP.NET Core Web 項目,我想知道是否有一種方法可以避免在appsettings.json.我的問題是如何在項目外部指定機密,以便它們不會意外提交到源代碼存儲庫(使用 Azure Key Vault 或其他東西)。我的期望是結(jié)合兩個配置提供程序,例如一些外部密鑰存儲(如果沒有其他解決方案或處理此類目的的方法)和應(yīng)用程序配置。
2 回答

Cats萌萌
TA貢獻1805條經(jīng)驗 獲得超9個贊
一種常見的方法是將機密存儲在外部保管庫中,例如 Azure Key Vault。它確實需要本地配置(例如證書)來向保管庫提供憑據(jù)。
它將按照您自己選擇的順序(通過調(diào)用config.AddAzureKeyVault
)與您的其他配置參數(shù)合并。
為了避免為本地開發(fā)環(huán)境進行設(shè)置,您可以使用本地機密(dotnet user-secrets
命令并以相同的方式將其添加到配置中)。同一 URL 上也有相關(guān)文檔。請注意,它不是安全存儲,實際上它只是磁盤上的純文本文件。
PS 不涉及外部提供商的事情是可能的。在之前的.Net生態(tài)系統(tǒng)中,它被稱為web.config
加密?;旧希用芰?web.config 的部分,并且密鑰存儲在 Windows 中,只有指定的帳戶有權(quán)訪問它。這是一次噩夢般的經(jīng)歷,但沒有使用外部提供商。您可以執(zhí)行類似于該方法的操作,但我不知道 .net core 是否有開箱即用的功能。
- 2 回答
- 0 關(guān)注
- 332 瀏覽
添加回答
舉報
0/150
提交
取消