50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

【Promise 源码学习】第九篇 - Promise.resolve 和 Promise.reject 的实现

Brave

源码 Promise 11月日更

TypeScript 类型系统

HoneyMoose

Apollo选型及优势介绍

小鲍侃java

11月日更

Vue进阶(幺玖幺):ECharts 实现地图功能

No Silver Bullet

Vue eCharts 11月日更

进击的Java(八)

ES_her0

11月日更

面对DNS劫持,只能坐以待毙吗?

阿里巴巴云原生

阿里云 云原生 云拨测 DNS劫持 产品活动

KubeMeet 深圳站完整议题出炉!快来 get 云原生边缘计算硬核技术干货

阿里巴巴云原生

阿里云 云原生 边缘计算 KubeMeet 线下活动

flutter开发中vscode插件推荐1

坚果

flutter vscode 11月日更

MVCC的机制初识

卢卡多多

MVCC 11月日更

在线极限词,敏感词,违禁词查询工具

入门小站

工具

详解低延时高音质:丢包、抖动与 last mile 优化那些事儿

声网

音频体验 RTE技术详解 last mile 优化

【Flutter 专题】06 图解基础【登录】页面并学习相关 Widget

阿策小和尚

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

dart系列之:在dart中使用packages

程序那些事

Java flutter dart 程序那些事 11月日更

使用 JavaScript 创建和下载文件

devpoint

JavaScript File Blob 11月日更

大数据训练营一期0829作业

朱磊

Pulsar的Chunk Message原理剖析

Zike Yang

Apache Pulsar 11月日更

ThreadPoolExecutor 任务提交原码分析

new life

ThreadPoolExecutor

消息队列表结构设计

guangbao

HW3 - 外包学生管理系统架构文档

WWH

架构实战营

Golang Gin 框架参数解析介绍(三)

liuzhen007

11月日更

大数据训练营一期0908作业

朱磊

大数据训练营一期0919作业

朱磊

Go 语言,测试功能详解 - 下

微客鸟窝

Go 语言 11月日更

16 K8S之容器健康监测

穿过生命散发芬芳

k8s 11月日更

linux实战清理挖矿病毒kthreaddi

入门小站

Linux

TypeScript 是弱类型

HoneyMoose

Podman是什么

耳东@Erdong

容器 11月日更 Podman

架构训练营 - 模块四

Geek_9de3de

架构实战营

技术改进项目的质量保障思路

QualityFocus

架构 软件测试 自动化测试 质量保障 技术改进

Android C++系列:访问Assets 文件夹

轻口味

c++ android jni 11月日更

版本化ASP.NET Core WebApi

喵叔

11月日更

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