写点什么

使用 Chef-Vault 实现机密信息管理

  • 2016-02-02
  • 本文字数:946 字

    阅读完需:约 3 分钟

Chef-vault 是一款以加密数据包为基础构建的 Chef 工具,可以减少解密密钥在所有用户和基础设施节点之间共享的需求。

在 Chef 基础结构中,加密数据包项是一种常用的机密信息(如密码或 API 密钥)存储方式。问题是,由于数据包是对称加密的,所以加密密钥(共享机密信息)需要分发给所有需要使用加密数据包的各方。

Chef-vault 解决了这个问题,它使用每个需要访问加密数据包的用户和节点的公共密钥加密共享机密信息。由 Chef 服务器管理的每个节点及用户账户都有一个 RSA 密钥对。Chef 服务器存储着公共密钥。Chef 节点和用户工作站存储着私有密钥。

Chef-vault 管理保险库。每个保险库有一个管理员(Chef 用户)和客户端(Chef 节点)的列表。只有这些管理员和客户端可以看到保险库的内容。一个保险库是一个数据包,包含两个数据包项。一个存储包含共享机密信息(比如数据库密码)的加密项。另一个存储管理员和客户端列表以及每个管理员和客户端的非对称加密共享机密信息。

每当 chef-vault 创建一个新的加密数据包,它首先会使用 SecureRandom.random_bytes 生成一个长为 32 个字节的随机字符串作为共享机密信息。然后,它会检索每个管理员和客户端的公共密钥,用它加密共享机密信息。这个过程减少了分发共享机密信息的需求,提供了一种更简单的方法控制对指定加密数据包项的访问。Chef-vault 还提供了一个 rotate_keys 操作,顾名思义,它会新建一份共享机密信息,并使用所有管理员和客户端的公共密钥加密它。

Chef-vault 有一些局限。至少这一次,它还不能很好地处理自动扩展,还需要人为增加或删除客户端(比如节点),或者像 Peter Burkholder 在一篇有关 chef-vault 的文章中所描述的那样,借助于“可以访问国王之钥的特权节点”。另外,无法替换已提供的密钥机制,不过, chef-vault 3.x.x 将会使用一个插件架构来解决这个问题。

机密信息管理是分布式可扩展环境的一个难题。Chef-vault 是一款特定于Chef 的工具,有好处也有不足。还有其他一些机密信息管理方案,有些是开源的,如Hashicorp 的 Vault 或 Square 的 Keywhiz ,有些是商业的,如 Amazon KMS Conjur

Nordstrom 是 Chef-vault 最初的开发者。该项目已于 2015 年 11 月转移到 Chef 项目之下,因此,有足够的资源维继它的开发。

查看英文原文: Secrets Management with Chef-Vault

2016-02-02 18:002161
用户头像

发布了 1008 篇内容, 共 448.1 次阅读, 收获喜欢 346 次。

关注

评论

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

四种引用类型在Springboot中的使用

4ye

Java spring 后端 springboot 8月日更

微博评论高性能高可用方案设计

gawaine

架构实战营

架构实战营 模块五 作业

三叔叔_拖延症晚期

模块五-微博评论“的高性能高可用计算架构

柱林

模块五作业 - 微博评论的高性能高可用计算架构

君子意如何

「架构师训练营第 1 期」

20张图带你了解JVM运行时数据区(上)

阿Q说代码

JVM 8月日更 pc寄存器 虚拟机栈 本地方法栈

SpringApplication启动run了啥

Rubble

8月日更

模块五作业

Testcase

架构实战营

设计微博系统中”微博评论“的高性能高可用计算架构

木云先森

架构训练营

模块5 作业

SAKIN

netty系列之:内置的Frame detection

程序那些事

Java Netty 程序那些事

[架构实战营] 模块五作业

xyu

#架构实战营

架构实战营 - 模块 5 - 微博评论的高性能高可用计算架构

雪中亮

架构实战营 #架构实战营

架构训练营模块五作业

喻高咏        

vue入门:定制自定义指令和过滤器

小鲍侃java

8月日更

模块5作业

Geek_ywh40v

HBase 原理、Shell、API读写操作

Mike

iOS开发:Xcode报错“Could not insert new outlet connection:Could not find any...”问题的解决方法

三掌柜

8月日更 8月

开发一个分布式IM(即时通信)系统!

小傅哥

Netty DDD 小傅哥 即时通信

Swift 实现聚光灯动效

fuyoufang

swift 8月日更

架构实战营模块五作业

老猎人

架构实战营

模块五作业

河马先生

架构实战营

JavaScript 数组元素的一些操作

HoneyMoose

老和云起小游

箭上有毒

8月日更

百度助力人工智能教育创新:教育部产学合作协同育人项目申报进行中!

百度大脑

人工智能

【Flutter 专题】63 图解 Flutter 集成极光 JPush 小结

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

架构实战营模块5作业

宁静志远

架构实战营

模块五作业

VE

架构实战营

【LeetCode】反转字符串中的元音字母Java题解

Albert

算法 LeetCode 8月日更

手撸二叉树之第二小的节点

HelloWorld杰少

数据结构与算法 8月日更

你真的了解二叉树吗?(树形结构基础篇)

有道技术团队

技术 二叉树 网易

使用Chef-Vault实现机密信息管理_安全_João Miranda_InfoQ精选文章