写点什么

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

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

关注

评论

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

jTDS 驱动导致 cpu 100%

顾五木

cpu占用100% 线上程序问题

学点项目管理,对咱程序员很重要~

后台技术汇

项目管理 项目管理工具

【Flutter 专题】91图解 Dart 单线程实现异步处理之 Future (二)

阿策小和尚

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

Redisson 分布式锁源码 08:MultiLock 加锁与锁释放

程序员小航

Java 源码 分布式锁 redisson redison

TP钱包Defi挖矿系统开发【专业定制】

获客I3O6O643Z97

区块链 DeFi质押挖矿 质押挖矿

bzb矿机软件系统开发

Uranus天王星系统软件开发介绍

免费分享Java Web 开发的优秀图书

Java入门到架构

Java Java书籍推荐

查找——HASH

若尘

数据结构 hash

币安链智能合约Dapp系统开发方案

薇電13242772558

智能合约

趣玩吧EVO软件系统开发方案

使用 Open Policy Agent 实现可信镜像仓库检查

张晓辉

Kubernetes 安全 OPA

external-attacher源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

架构实战营 - 模块 8- 作业

泄矢的呼啦圈

架构实战营

Spring源码解析 -- SpringWeb请求映射Map初始化

Java spring 源码解析

Ubuntu Server 20.04搭建kafka集群

玏佾

kafka kafka配置 kafka数据 Ubuntu20.04

架构师实战营 模块八作业(设计消息队列存储消息数据的MySQL表格)

代廉洁

架构实战营

淘筱优软件开发|淘筱优APP系统开发

话题讨论| 帮朋友拼多多助力会导致银行卡被盗刷?

石云升

拼多多 话题讨论 7月日更

Apollo配置中心如何实现配置热发布

慕枫技术笔记

微服务 后端 配置中心

为什么搞一个副业项目如此之难?

张理查

hive 与传统数据库对比

五分钟学大数据

hive 7月日更

Go 语言中一些不太常见的优化

Xargin

性能优化 后端 Go 语言

利用 Vector 从日志创建指标来提高系统的可观测性

哈德韦

日志 可观测性 Prometheus SRE vector

🏆「作者推荐」【JVM 性能分析】精心准备了一套 JVM 分析工具的锦囊(中部)

码界西柚

JVM 性能分析 7月日更

你有多少密码是123456

MySQL从删库到跑路

密码管理

yarn 的基本介绍和产生背景

大数据技术指南

YARN 7月日更

完了,又火一个项目

程序员鱼皮

JavaScript GitHub Vue 大前端 React

FIL分币系统源码开发App

获客I3O6O643Z97

IPFS怎么挖矿 ipfs有什么用 质押挖矿 fil币

FIL币挖矿合法吗?FIL挖矿会叫停吗?

第八课作业

杰语

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