如何在分布式、可伸缩环境中保护你的秘密?

2015 年 12 月 30 日

DevOps

去年十月份,在阿姆斯特丹速度会议 上,来自 Fugue 的首席安全工程师 Alex Schoof解释了如何在一个分布式、可伸缩的环境中管理秘密,比如云平台。Schoof 提议将秘密管理系统分解成多个组件,每个组件都有自己特定的功能,并将彼此孤立,以减少必要的表面接触。

据 Schoof 所言,该设计是考虑了5 项原则进行大规模秘密管理后的结果。秘密管理系统应该严格依赖认证、授权和访问控制策略,以保证每个客户只能访问秘密的一个子集。

Schoof 强调,该系统应该易于使用,允许快速访问和更新到期的秘密。有一点很重要,应该避免让用户以编码或者纯文本文件的形式通过硬编码或者存储秘密围绕系统工作,因为这会破坏系统的目的。因为你的系统依赖秘密,因此 Schoof 建议实施高可用性架构,避免秘密管理系统发生故障时所有系统的停机时间。

Schoof 称被加密在数据库中的代码为“秘密库(secret store)”,称独立存储在另一个数据库中用于加密和解密的密匙为“主密匙库(master key storage)”。这两个组件是彼此孤立的,只能通过“秘密服务(secret service)”进行访问。

任何客户端、用户或者计算机需要访问秘密时,必须将请求发送至秘密服务。秘密服务可以是一个网络服务,需要客户端的身份认证和验证客户端的权限。该服务从秘密库中请求服务,并从主密匙库中请求相应的密匙。然后用密匙解密秘密,并将秘密发送回客户端。

你还需要一个管理界面来配置系统。这可以是个网站、图形用户界面程序或者一组命令行工具,用来授权或者撤销授权,同时配置访问控制策略。秘密服务应该允许能够提供身份认证的所有客户端的访问,与秘密服务形成鲜明反差的是,管理界面、主密匙库和秘密库必须要有严格的访问策略。它们应该是,例如,只能通过特定的网络进行访问,并且需要额外级别的身份认证,允许访问的用户数量也是有限的。

Alex Shoof 发表的“ Managing systems at scale ”演讲,现场挤满了人,并且他的演讲是速度会议上通过 O’Reilly 移动应用或者速度会议网站投票结果中评价最高的演讲之一。

查看英文原文: Keeping Your Secrets Safe in a Distributed and Scalable Environment

2015 年 12 月 30 日 18:00 844
用户头像

发布了 0 篇内容,共 18 次阅读,收获喜欢 0 次。

关注
DevOps

评论

发布
暂无评论
发现更多内容

我为什么选择infoq写作平台

三爻

回"疫"录(3):让人怀念的普通一天

小天同学

疫情 回忆录 现实纪录 纪实

ZGC都出来了,你还不懂G1?

岁月安然

G1 JVM

vSphere 7融合Kubernetes,构建现代化应用的平台

亨利笔记

Kubernetes 容器 云原生 k8s vSphere

“WHY-HOW-WHAT”这个被誉为伟大的领袖如何激励行动的黄金圈法则,非常值得大家学一学!

德华

思维方式

OpenCV 在 Android 上的应用

fengzhizi715

android OpenCV 计算机视觉

从【炉石传说】到矩阵运算

Tango

Python 机器学习 矩阵 数学

程序员5分钟:你的程序占用了多少内存?

顾仲贤

程序员

Harbor和Dragonfly双剑合璧 打造容器镜像运维新模式

亨利笔记

容器 k8s Harbor dragonfly 镜像

世界知识产权日碎碎念

尹晓铁

成长 随笔 知识产权

程序员陪娃漫画系列——看医生

孙苏勇

生活 程序员人生 陪伴 漫画

爱他,就让他走?

Selina

团队管理 领导力 团队协作

别总说CMS、G1,该聊聊ZGC了

猿人谷

CMS G1 ZGC JVM

决定我们认知深度的究竟是什么?

石君

深度思考 方法论 连接

批注MYSQL开发规范,助你了解其背后的“道”

三石而立

数据库规范 规范背后的原理 白话规范

“消灭你,与你无关”——阿里巴巴的风险 | 旧文重发

赵新龙

阿里巴巴 风险 蒋凡 IPO

程序员5分钟:你了解32位带符号的整型吗?

顾仲贤

程序员

Java并发编程系列插曲——对象的内存结构

孙苏勇

Java 内存模型 面向对象 ClassLayout

前端如何搞监控总结篇

大前端洞见

前端监控 监控 全链路监控

我不是怕表错态,而是怕我会不自觉地捍卫它

池建强

个人成长

回"疫"录(4):见证历史

小天同学

疫情 回忆录 现实纪录 纪实

运维 Harbor 镜像仓库的法宝:Operator

亨利笔记

Kubernetes 容器 k8s Harbor operator

不以涨工资为目的的技术学习,都会以失败而告终

陆陆通通

程序员 面试 涨薪

死磕Java并发编程(4):happens-before是什么?JMM最最核心的概念,看完你就懂了

七哥爱编程

Java Java并发 happens-before JMM

在谈判中,你有哪些属于自己的独特的方法和技巧?

Yolanda

程序员都应该了解的运维知识经验

松花皮蛋me

DevOps 分布式 运维

Golang 真的好用吗?

极客时间

golang 编程语言

祝这些不要脸的王八蛋同行家里着火

二爷

除了负载均衡的算法,你还应该知道这些

松花皮蛋me

Java 负载均衡 分布式

微信朋友圈为什么没有阅读数?

彭宏豪95

微信 产品 产品设计

像产品设计一样思考、像程序运行一样执行

水色

如何在分布式、可伸缩环境中保护你的秘密?-InfoQ