引言

  互联网每隔一段时间就会爆出 【某程序猿在代码托管平台上传了公司机密配置信息,导致公司核心数据被黑客获取或修改】, 一茬又一茬背锅侠层出不穷。拯救自我

  软件工程理论早以加粗字体给出 经典原则: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程序猿不再背锅相关推荐

  1. 微信翻译出Bug上热搜,程序员又背锅?

    作者| 伍杏玲 来源 | 程序人生(ID:coder_life) 60s测试:你是否适合转型人工智能? https://edu.csdn.net/topic/ai30?utm_source=cxrs_ ...

  2. 程序员又背锅?美团外卖声明“杀熟会员”是技术原因,软件定位缓存导致配送费不准!网友:程序员太惨!...

    前几天的"美团杀熟外卖会员"事件你听说了吗? 简单地说,有人爆料自己开通美团会员后,以前常点的一家外卖店配送费由平时的2元变为6元.不仅是一家店这种情况,一部开通美团外卖会员的手机 ...

  3. 京东金融 App 收集隐私?开源库程序员不背锅!

    「大数据时代,人人都在"裸奔"」.本是一句玩笑话,无奈现实却一次又一次地扯掉了遮挡在用户隐私面前的遮羞布. 近日,京东金融 App 成为众矢之的,原因是其被网友控诉,在用户不知情的 ...

  4. 程序员万年背锅!美团外卖声明“杀熟会员”是技术原因,软件定位缓存导致配送费不准!

    前几天的"美团杀熟外卖会员"事件你听说了吗? 简单地说,有人爆料自己开通美团会员后,以前常点的一家外卖店配送费由平时的2元变为6元.不仅是一家店这种情况,一部开通美团外卖会员的手机 ...

  5. 虾米音乐代码注释惊现“穷逼vip”程序员又背锅了

    开源最前线(ID:OpenSourceTop) 猿妹整编 综合自:V2EX社区.知乎等 11 月 19 日,在 V2EX 社区的技术版一名网友发布了一篇名为<虾米 mac 客户端发现个好玩的注释 ...

  6. 微信翻译生日快乐的代码_微信翻译出 Bug 上热搜,程序员又背锅?!

    天撸了!昨天微信翻译因为出Bug被网友送上热搜,网友质疑微信在翻译明星内容时,结果是近乎"恶搞". 当输入:"you play basketball like caixu ...

  7. 电话机器人成骚扰机器?程序员可不背锅

    电话机器人的出现为骚扰电话添砖加瓦,还是加固防火墙? 这是很多人探讨的问题,有人说骚扰电话愈演愈烈,电销机器人是得力助手,也有人认为电话机器人的出现,推动了电话营销市场规范化.合理化.对于防止骚扰电话 ...

  8. 微信翻译出 Bug 上热搜,程序员又背锅?!

    天撸了!昨天微信翻译因为出Bug被网友送上热搜,网友质疑微信在翻译明星内容时,结果是近乎"恶搞". 当输入:"you play basketball like caixu ...

  9. 程序员又背锅了!虾米音乐代码注释惊现“穷逼vip”

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 11 月 19 日,在 V2EX 社区的技术版一名网友发布了一篇名为<虾米 mac ...

最新文章

  1. 互联网企业的移动布局
  2. css 伪类 disabled,css3 :enabled与:disabled伪类选择器(示例代码)
  3. qt sse指令加速配置
  4. LVS (一) 原理
  5. ServletConfig 对象
  6. python宣传图片_宣传图片制作网站
  7. C语言程序读写文件(文件内存一个十进制数,每读一次数值加一)
  8. 开源网站云查杀方案,搭建自己的云杀毒。
  9. Algs4-1.4.38 3-sum的初级算法与ThreeSum性能比较
  10. Linux终端嵌套桌面里,linux下终端分屏使用的两种方法(screen和tmux)
  11. MVVM开发模式MVVM Light Toolkit
  12. swfobject 2.0 使用
  13. RecyclerView添加分割线
  14. DAMS | 突破运维瓶颈,监控告警、混合CMDB、DevOps转型一网打尽!
  15. 一种无监督人脸聚类方法(SOTA效果)
  16. HTML5期末大作业:网站——仿游戏官网(龙之谷)HTML+CSS+JavaScript
  17. 三级管功放电路设计及参数选择
  18. 利用h5小游戏来做营销
  19. 软件测试之测试计划与工具(三)
  20. 使用Java实现微信小程序订阅消息

热门文章

  1. android html邮件 messagecompose,android email 转发附件丢失问题
  2. Kinect开发笔记之二Kinect for Windows 2.0新特性
  3. chrome同步_如何在Chrome中打开或关闭同步
  4. chromebook刷机_如何将网站添加到您的Chromebook架子上
  5. Angular变化检测机制
  6. std::bind 详解及参数解析
  7. MySQL-5.5.33主从复制
  8. MyBatis --教程
  9. SQL SERVER2000存储过程调试
  10. 如何提高电脑办公效能