日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

密钥分离,.Net程序猿不再背锅

發布時間:2023/12/4 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 密钥分离,.Net程序猿不再背锅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言

  互聯網每隔一段時間就會爆出 【某程序猿在代碼托管平臺上傳了公司機密配置信息,導致公司核心數據被黑客獲取或修改】, 一茬又一茬背鍋俠層出不窮。拯救自我

  軟件工程理論早以加粗字體給出 經典原則:Never store production passwords or other sensitive data in source code

依據這個原則,我們來說一些.Net 開發生涯幾種敏感信息分離的方案。

?

頭腦風暴

常規思路是【外部文件方式托管敏感信息】,外部是相對于 代碼托管倉庫。

.Net Framework

  可嘗試在appSettings配置節啟用file屬性,file屬性可引用外部配置文件,具備為原appSetttings新增或重寫同名設置的能力。

.NetCore

可在程序啟動時加載?appsetting.secrets.json文件,該文件也排除在代碼管理倉庫之外, 部署時手動將該文件拷貝到發布目錄。

據此思路,可將敏感信息叫由其他組件托管,.NetCore開發者還有其他3種實踐:

-? 適用于Dev的 Secrets manager tool 托管

Asp.NETCore 在開發環境下保存密鑰的方式,總體思路是 使用一個匿名GUID引用存儲在系統文件夾下同名配置Json.

https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-2.2&tabs=windows

-? 適用于Azure云的? Azure Key Vault 托管

https://azure.microsoft.com/en-us/resources/samples/key-vault-dotnet-core-quickstart/

-? 適用于General Deploy的環境變量托管

下面對環境變量方式分離敏感信息做進一步說明。

環境變量托管

環境變量能在進程創建時被導入/注入,因此可作為一種敏感信息分離的思路, 環境變量來自 3個級別 :系統, 用戶,進程。

介紹幾種修改環境變量的方式:

①Window機器CMD命令行:?setx命令,?Powershell也可操作

②系統控制面板-我的電腦-屬性-高級設置-環境變量

? ? ?以上兩種形式可理解 為 AspNetCore進程啟動時導入 系統環境變量。

③在Visual Studio launchsettings.json設定進程啟動時要注入的環境變量

④在VScode launchsettings.json設定進程啟動時要注入的環境變量

⑤ 在進程啟動時通過命令行參數注入

⑥ 若使用IIS托管AspNetCore,可在部署機器IIS的配置編輯器 新增/重寫環境變量

?

?在.NetCore生產部署實踐中,比較常用的方式是使用獨立的appsettings.secrets.json,環境變量來分離敏感信息。

掌握這些,.Net程序猿應該就不會因為在git上傳機密信息而背鍋了。

原文鏈接:https://www.cnblogs.com/JulianHuang/p/11462607.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的密钥分离,.Net程序猿不再背锅的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。