BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 João Miranda 关注 2 他的粉丝 ,译者 谢丽 关注 9 他的粉丝 发布于 2016年2月3日. 估计阅读时间: 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 KMSConjur

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

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT