写点什么

使用 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:001903
用户头像

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

关注

评论

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

欢度春节|新用户专属福利

InfoQ写作社区官方

热门活动

产品经理训练营笔记-业务流程与产品文档(一)

.nil?

产品经理训练营

kafka的实现原理

八两

kafka Kafka知识点 kafka实现原理 kafka架构

Linux Lab 进阶: Rootfs 文件系统 &Linux 与 Uboot 调试

贾献华

Linux Linux Kenel rootfs uboot usb

前端开发:Node版本引起的报错问题

三掌柜

vue.js 大前端

无意间发现 Google 代码模板,分享给大家!

C语言与CPP编程

c++ JavaScript objective-c 代码规范 Python 编码格式

架构2期-大作业(一)

浮生一梦

大作业 2组 架构师训练营第2期

架构师训练营第六周作业

跳蚤

排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"

蚂蚁集团移动开发平台 mPaaS

小程序 问题排查 mPaaS

搜索引擎简述

跳蚤

字节跳动面试必问:从外包月薪5K到阿里月薪15K,学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

杜绝“萝卜章”风险,区块链电子签章助力企业降本“保真”

CECBC

电子签名

2 期架构师训练营 - 第四周作业与总结

云飞扬

架构师训练营第2期

架构师训练营第十一周作业

zamkai

大作业(二)

bing5tui3

架构师训练营第2期

百度大脑 EasyEdge 推出端云协同服务,大幅提升本地部署模型迭代效率

百度大脑

驱动力读书笔记之五

张老蔫

28天写作

逼疯UE设计师,不可不知的提升产品用户体验的10个测试方法

华为云开发者联盟

产品 测试 UI 用户体验

执行、管理、领导做不好,都有懒的因素

刘华Kenneth

领导力 管理 软件开发

字节跳动架构师讲解Android开发!2021年展望Android原生开发的现状,分享一点面试小经验

欢喜学安卓

android 程序员 面试 移动开发

2 期架构师训练营 - 第三周学习总结

云飞扬

架构师训练营第2期

如何在数据库中进行RBAC权限应用

BinTools图尔兹

数据库 权限管理 数据管理 rbac

日记 2021年2月7日(周日)

Changing Lin

个人感悟 2月春节不断更

百度大脑 EasyData 智能数据服务平台上线文本数据清洗功能

百度大脑

注册中心 Nacos 异常实例需要30s才能剔除 Nacos心跳时间设置(踩坑)

laker

Spring Cloud nacos spring cloud alibaba

区块链还可以这么玩?“点亮莫高窟”背后的腾讯云区块链

CECBC

区块链

架构2期-大作业(二)

浮生一梦

大作业 2组 架构师训练营第2期

停车、投票、领证,区块链如何在「智慧城市」建设中大显身手?

CECBC

区块链

机器学习·笔记之:Inverse and Transpose

Nydia

大作业(一)

bing5tui3

极客时间架构师二期

话题讨论 | 新年将至, 程序员如何以代码送出新春祝福

孙叫兽

Java 程序员 大前端 话题讨论 新春祝福

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