前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >从薪火相传的密钥文件到“密码即服务”

从薪火相传的密钥文件到“密码即服务”

作者头像
极客人
发布于 2020-01-02 09:01:13
发布于 2020-01-02 09:01:13
1.2K0
举报
文章被收录于专栏:我是极客人我是极客人

一个可运行的软件项目通常包括两个要素:代码和密钥。我们通常会使用无版本控制的FTP有版本控制的SVNgit等成熟的工具进行代码管理;而在我参加的大大小小、许许多多的项目中,密钥管理似乎缺乏成熟或标准的实践。本文将历数一下笔者在各个使用过的密钥管理实践并分析他们的优缺点。最后给大家推荐一款密钥管理工具:vault。

在软件项目开发中,密钥常常应用于下面四个场景:

  • 本地开发:通常包括开发环境的数据库密码、用于访问第三方API的token、一些私有程序包仓库的凭证等。
  • CICD流水线:比如Push Docker镜像的Docker仓库的访问凭证、用于部署的云服务凭证(AWS Secret等)、用于访问K8S集群的token等
  • 运行线上服务:线上服务启动所需的数据库密码、API Token等等,同时可能需要管理用于多套环境的不同密钥。
  • 线上运维:线上发生事故时,需要在本地登入堡垒机(跳板机)的SSH Key或集群的访问凭证。

本地开发:“薪火相传”的密钥文件

当我们加入一个团队时,通常会有一个Readme文档告诉你项目代码库的下载链接。除此之外它会告诉你需要向团队“前辈”索要密钥文件,不然你的代码是不能在本地启动的。同时有人告诉你,这个密钥文件千万不要加入到git仓库中。

这种“薪火相传”的密钥管理方式,是最原始也是最常见的方式。它常常会伴随这样几个问题:

  • 密钥更换或者引入新的密钥后,团队其它成员因为没有得到最新的密钥文件,导致服务在本地起不来。

比如你会听到这样的对话:

  • A: “我拉了一下最近的代码,怎么就跑不起来了?”
  • 坐在旁边的B突然想起了什么:“好吧,我想起来了!我改了一下数据库密码,忘记告诉你了,我把最新的密钥发给你。”或者“我新加了一个功能因为使用API-KEY要访问消息队列,我在自己本地的环境变量里面加上了这个KEY,忘记告诉你们了”
  • 随后B把最新的密钥文件传给了A。几天后,同在项目的C也遇到了同样的问题……
  • 误提交到代码仓库问题:

相信已经不止一次地听人提醒:千万不要将密钥文件明文提交到git。但是密钥泄露在代码仓库的问题依旧时有发生。

本地开发:将密钥加密后存放在Git仓库

密钥和代码一样,在团队项目中同样需要进行共享、同步。密钥放在git仓库中本来是可以解决团队协作问题的,只不是不能被明文存储。那么,如果是将密钥加密后再提交到git仓库呢?

git-crypt便是这样一款可将git仓库中的密钥文件进行透明加密和解密的工具。它可以将密钥文件在push时加密,在pull下来后解密。更多介绍和使用说明可以参考:https://github.com/AGWA/git-crypt。

借助git版本控制工具,它可以实现:

问题:

  • 密码可能在多个服务中使用,怎么同步?

持续集成流水线中的密钥管理

在现在的Web项目的CI/CD流程中,通常会将项目代码经过构建打包生成docker镜像(制品);在部署阶段,不同环境会采用相同的docker镜像,但是会使用不同的环境变量(比如集群、域名、数据库地址密码等)传入到docker的运行时,从而完成在不同环境的部署。

环境(变量)在不同的CI/CD中有不同形式,比如的Jenkins的Credential、GoCD的Environment、CircleCI的Context。

如果将所有的部署与运行时所需要的密钥数据都保存到pipeline上,会导致下面的问题

  • 过多的密码字段,将密码作为环境变量一个个传递到服务十分复杂
  • pipeline存环境变量一般加密后难以解密,如果你设置完自己都忘记了,那这个环境就彻底忘了

解决的办法一般是在pipeline上保存尽量少的密钥字段,我们通过一次认证就可以具备获取所有密钥数据的权限。

密码即服务:Hashicorp Vault

在云和基础设施自动化时代,我们应该知道一家名为Hashcorp的公司,其代表作有知名的terraform、consul、packer、vagrant。vault也是这家公司的产品之一,它通过API将密码以服务的方式暴露出去。

它可以提供:

  • 中心化的密码服务
  • 更安全的加密存储
  • 密码的服务化
  • 丰富的第三方集成:实现认证的扩展、多平台密钥管理
  • 与Github身份认证集成,比如你可以做到只允许在特定git organization下的用户才能获取密钥
  • 签发临时的SSH证书:比如你只允许一个30分钟内有效的SSH KEY来登录堡垒机
  • 生成临时的AWS KEY:比如你只能用一个30分钟内有效的AWS凭证
  • 定期更换数据库密码,因为数据库长期不更换会加大泄露的风险
  • OTP:基于时间的临时密码
  • 密码权限策略:只允许特定的微服务读取或者写入指定的密钥
  • 密码的revoke(同事下项目了怎么办?)

最佳实践

  • 不在本地持久化存储密钥
  • 密钥是有时效,定期轮换
  • 密钥获取者是有身份的
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我是极客人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
优化800G数据中心:高速线缆、有源光缆和光纤跳线解决方案
随着技术的飞速发展,数据中心正在从100G和400G演进到800G时代,对高速数据传输的需求与日俱增。因此,选择高效且可靠的布线解决方案对于800G数据中心至关重要。本文将深入探讨800G数据中心的三大主流布线解决方案——高速线缆(DAC)、有源光缆(AOC)和光纤跳线,并分析它们如何提高性能并支持现代数据中心不断增长的需求。
通信产品推荐官
2025/03/24
840
优化800G数据中心:高速线缆、有源光缆和光纤跳线解决方案
光纤接口有哪几种,从四个角度介绍
众所周知,光纤接口类型多样,但是他们到底有哪几种,有什么特点和适用什么场景呢?阿祥今天按连接器(LC/SC/ST等)、传输模式(单模/多模)、应用场景(电信/数据中心/家庭)等分类介绍,帮助粉丝们了解如何选型合适的光纤。
ICT系统集成阿祥
2025/04/04
560
光纤接口有哪几种,从四个角度介绍
选择高性价比的有源光缆要考虑哪些因素?
有源光缆,AOC是Active Optical Cable的简写, 由多模光纤、光收发器件、控制芯片和并行光模块组成。其两端的光收发器提供光电转换以及光传输功能,以提高光缆的传输速度和传输距离,而不会减弱与标准电接口之间的兼容性。主要用于短距离多通道数据通信应用中。
易天光通信
2019/03/27
8330
选择高性价比的有源光缆要考虑哪些因素?
数据中心40G QSFP+ SR4与40G QSFP+ LR4光模块的选择
40G QSFP+光模块具有四个独立的全双工收发通道,是四通道小型可插拔光模块,这种四通道的接口传输速率可高达40Gbps。QSFP光模块的密度是XFP光模块的4倍、SFP+光模块的3倍,作为一种光纤解决方案,满足了高密度高速率传输的需求。
易天光通信
2019/03/25
8330
数据中心40G QSFP+ SR4与40G QSFP+ LR4光模块的选择
光模块7种标准:GBIC、SFP、SFP+、SFP28、QSFP、QSFP+、QSFP28有什么区别?
本文将为大家介绍什么是GBIC、SFP、SFP+、SFP28、QSFP、QSFP+和QSFP28以及它们之间的区别。
网络技术联盟站
2023/03/02
18.1K0
光模块7种标准:GBIC、SFP、SFP+、SFP28、QSFP、QSFP+、QSFP28有什么区别?
5G时代10G升级40G/100G网络解决方案
2019年是5G产业进入全面商用的关键一年,全球5G网络的部署已经启动。在数字化转型浪潮的推动下,5G将开启移动互联网的新阶段。特别是,5G网络的初期部署将 普及移动互联网极致的用户体验,推动物联网创新,进而推动移动互联网产业的新一代转型。
晟科通信
2020/06/10
9800
5G时代10G升级40G/100G网络解决方案
全方位解析40G QSFP+ SR4光模块(QSFP-40G-SR4)
40G QSFP+ SR4光模块是40G以太网短距离传输的优选解决方案,当然40G DAC高速线缆和40G AOC光缆价格更有优势,能满足40G数据中心机房搭建需求,不同方案不同选择!接下来易天光通信(ETU-LINK)通过模块封装类型、传输速率、传输距离、接口类型和激光器类型来全方位解析QSFP-40G-SR4光模块。
易天光通信
2019/03/14
1.4K0
全方位解析40G QSFP+ SR4光模块(QSFP-40G-SR4)
40GbE将死,25GbE已兴
目前,随着云计算,大数据,NFV等技术的发展,数据中心的云化已经正在进行之中,而云数据中心对于网络带宽的需求日益剧增。在增加带宽的过程中,出现了2条路线:1)从10GbE到40GbE,再到100GbE; 2)从10GbE到25GbE,50GbE,再到100GbE。虽然40GbE出现的更早,相比25GbE更成熟,但从以下几个因素来看,25GbE应该会是一个更好的选择。
段立功
2022/06/13
8460
40GbE将死,25GbE已兴
40G QSFP+与10G SFP+光模块连接解决方案
随着网络的不断升级和发展,光模块的销量正在不断的攀升,各种型号的光模块层出不穷,今天就为大家介绍信下最常见的40G QSFP+光模块MPO口和10G SFP+光模块 LC口的连接解决方案,如何实现不同的光模块之间的网络升级和更换
晟科通信
2020/06/10
1.2K0
40G QSFP+与10G SFP+光模块连接解决方案
MPO/MTP光纤跳线十大应用场景
随着数据中心40G/100G网络布线对高速传输和数据容量的需求,高密度MPO/MTP光纤连接器、跳线的应用愈加普遍。
亿源通科技HYC
2021/01/20
1.6K0
MPO/MTP光纤跳线十大应用场景
40G光模块方案:10G至40G网络的布线方法
今天给大家分享如何通过40G光模块将10G网络升级至40G网络,首先要根据应用场景选择合适的40G光模块以及采用有效的40G升级方案,接下来易天光通信(ETU-LINK)给你详细介绍10G至40G网络的光模块解决方案。
易天光通信
2019/02/20
1.5K0
40G光模块方案:10G至40G网络的布线方法
25G/50G/100G技术有什么区别和联系?
在过去十年里,10G和40G技术占据了以太网市场的大部分。但随着用户对高带宽的需求以及特殊应用的发展需求,25G/50G/100G技术越来越受用户关注,它们凭借着能为高速率提供有效路径,逐渐在网络部署中脱颖而出。下面我们将着重介绍25G/50G/100G技术及其三者的关系。 25G 技术 25G以太网标准是2016年由IEEE面向云数据中心中服务器特推出的标准,该标准推出时间比10G/40G/100G以太网标准晚几年。 25G主要的优势是采用了SerDes技术,该技术是一种主流的时分多路复用(TDM)、点对
SDNLAB
2022/07/04
2.1K0
25G/50G/100G技术有什么区别和联系?
接力10G,25G将成为数据中心最优解决方案
随着云计算、大数据、移动互联网和智慧城市的兴起,互联网数据流量呈爆发式增长趋势,运营商急需将现有的数据中心升级到云数据中心,以提供更加灵活的业务和应用支撑。目前的数据中心主要是基于10G以太网架构,为了能够处理不断增大的数据负载,这些数据中心必须通过增加与现有基础设施并行的带宽能力实现扩展。有趣的是,相比较广为人知的10G→40G→100G的升级路线,如今运营商更倾向于选择10G→25G→100G的演进路径。25G何以能够取代40G成为10G的接力棒?
易天光通信
2019/02/28
8540
弱电工程师,25G 以太网与 40G 以太网:你选择哪个?
在当今不断发展的数据中心中,带宽需求的增长可以通过向更高传输速度-100G 的转变来实现。要升级到100G,有两种方法:
网络技术联盟站
2021/09/06
1.2K0
弱电工程师,25G 以太网与 40G 以太网:你选择哪个?
关于光模块,看这一篇就够啦!
随着光通信的高速发展,现在我们工作和生活中很多场景都已经实现了“光进铜退”。也就是说,以同轴电缆、网线为代表的金属介质通信,逐渐被光纤介质所取代。
鲜枣课堂
2020/01/14
4K0
关于光模块,看这一篇就够啦!
网络设备硬核技术内幕 交换机篇 10 倚天屠龙(上)
交换ASIC就是这倚天剑与屠龙刀。想知道倚天剑和屠龙刀里面的秘密吗?请大家继续关注这个专题。
用户8289326
2022/07/27
1.8K0
网络设备硬核技术内幕 交换机篇 10 倚天屠龙(上)
网络设备硬核技术内幕 交换机篇 9 SuperStar
而在海峡对岸,三个美丽的姑娘还在到处寻觅自己的另一半,希望找到自己的Superstar。
用户8289326
2022/07/27
8830
网络设备硬核技术内幕 交换机篇 9 SuperStar
数据中心从10G/40G升级到25G/100G 时的几个注意点
作者简介:郑敏先,任职于诺云信息系统(上海)有限公司,担任售前工程师。从事SDN、白盒交换机等开放网络关产品的推广工作。
SDNLAB
2018/07/30
1.8K0
数据中心从10G/40G升级到25G/100G 时的几个注意点
关于40G QSFP+ BiDi SR4光模块的详细介绍
随着网络的发展,10G到40G网络的升级是网络的要求,但升级时建设有线系统存在一个非常大的问题,特别是40G的短距离传输,为了解决这个问题,所以工程师们研发出了40G QSFP+ BiDi SR4光模块。
易天光通信
2019/03/21
9520
关于40G QSFP+ BiDi SR4光模块的详细介绍
【教程】40G MTP-LC光纤配线架实现4x10G LC布线
今天易天光通信(ETU-LINK)给大家分享40G MTP-LC光纤配线架实现4x10G LC布线的教程。
易天光通信
2019/03/15
7640
【教程】40G MTP-LC光纤配线架实现4x10G LC布线
推荐阅读
相关推荐
优化800G数据中心:高速线缆、有源光缆和光纤跳线解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文