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

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