写点什么

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

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

关注

评论

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

年底前端面试题总结(上)

loveX001

JavaScript

Qt | 深入了解Qt的委托类

YOLO.

qt 10月月更 C++

如何在 SAP BTP 平台上重用另一个已经开发好的 service

汪子熙

云原生 SaaS 云平台 SAP 10月月更

数字化转型:营销数字化

小鲸数据

数字化 营销数字化 客户数据平台 CDP 营销数据中台

前端线下面授培训机构该怎么选择?

小谷哥

全网首发“Java面试考点大全”,25+专题梳理:JVM+多线程+Spring全家桶+MySQL+Redis等

Geek_0c76c3

Java 数据库 程序员 架构 面试

搜索中常见数据结构与算法探究(一)

京东科技开发者

数据结构 ES 哈希 数据结构算法 搜索算法

STM32L051测试 (二、开始添加需要的代码)

矜辰所致

stm32 STM32CubeMX 10月月更

IDEA的Docker插件实战(Docker-compose篇)

程序员欣宸

Docker Docker-compose 10月月更

谈谈前端性能优化-面试版

loveX001

JavaScript

vivo互联网机器学习平台的建设与实践

vivo互联网技术

人工智能 机器学习 推荐系统

LinkedList源码分析(四)

知识浅谈

linkedlist 10月月更

Java数据类型转换

共饮一杯无

Java 类型转换 10月月更

AndroidStudio最新版(2021.1.21)编译C++代码生成so文件

中国好公民st

c++ Android; 10月月更

MobPush iOS端常见问题

MobTech袤博科技

ios

Spring JPA 如何进行无参数查询布尔类型

HoneyMoose

Qt | Qt的动画框架和类

YOLO.

qt 10月月更 C++

大数据ELK(二十一):Logstash简介和安装

Lansonli

Logstash 10月月更

上岸稳了!GitHub标星115k+的阿里内部Java学习教程限时开源

Geek_0c76c3

Java 数据库 程序员 架构 开发

研发效能领域的“百科全书”重磅来袭!

博文视点Broadview

又一里程碑!阿里首推Java面试通关手册,必须人手一份!

Geek_0c76c3

Java 数据库 程序员 架构 面试

前端培训学习的就业前景是什么样的

小谷哥

两数之和

掘金安东尼

算法 10月月更

算数、赋值、比较、逻辑、三元运算符

共饮一杯无

Java 运算符 10月月更

如何用AR Engine环境Mesh能力实现虚实遮挡

HarmonyOS SDK

AR

初学大数据培训学习入门

小谷哥

Python进阶(十)Python 编程规范

No Silver Bullet

Python 编程规范 10月月更

SeaTunnel连接器V1到V2的架构演进与探究

Apache SeaTunnel

API 数据集成 连接器 Apache SeaTunnel 数据集成平台

web3 chainlink 预言机喂价、VRF

1_bit

智能合约 web3 chanlink

小程序运营怎么做?

源字节1号

软件开发 前端开发 后端开发 小程序开发

打破“双十定律”,华为云AI推动超级抗菌药Drug X研发加速

华为云开发者联盟

AI 华为云 药物研发 盘古大模型 企业号十月 PK 榜

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