开源跨平台机密管理系统-Vault
2024-08-19 10:31:40 阿炯

Vault是一个用于管理敏感信息(如密码、证书、API 密钥等)的工具。它提供了一个安全的存储系统,能够帮助开发者和运维人员安全地存储和访问敏感数据,同时还具备丰富的功能来确保数据的机密性、完整性和可用性。Vault自带各种可插拔组件,被称为机密引擎和身份验证方法,能够与外部系统集成,这些组件的目的是管理和保护动态基础架构中的机密信息。例如:数据库凭据、密码和API密钥。它几乎支持所有平台,包括:Linux、MacOS和Windows平台,依据不同系统不同处理器架构来选择适配自己系统的包安装。采用Go语言开发并在Business Source License v1.1协议下授权使用。



核心功能

1.隐私管理:可以存储任意的键/值对。其在将数据写入持久化存储之前会对其进行加密,因此即使获得了原始存储的访问权限也无法访问机密信息。Vault 可以写入磁盘、Consul 等。

2.动态机密生成:可以按需为某些系统(如 AWS 或 SQL 数据库)生成秘密。例如,当应用程序需要访问 S3 存储桶时,它会向 Vault 请求凭证,它会根据需求生成具有有效权限的 AWS 密钥对。在创建这些机密信息后,Vault 还会在租约到期后自动撤销它们。

3.数据加密:可以在不存储数据的情况下对其进行加密和解密。这使得安全团队可以定义加密参数,开发人员可以将加密数据存储在 SQL 数据库等位置, 而无需设计自己的加密方法。

4.访问控制:通过策略管理, 可以严格控制谁可以访问哪些机密信息, 使用者可以做到自主可控。

5.审计日志:记录所有对其访问和操作,方便追踪和审计。

6.高可用性和灾难恢复:支持多节点集群和灾难恢复功能,确保服务的高可用性。

7.租约和续约:将租约与每个秘密相关联。在租约结束时,Vault 会自动撤销该秘密;客户端可以通过内置的续约 API 来续租。

8.撤销:内置了机密信息撤销支持。它不仅可以撤销单个机密,还可以撤销一棵机密树,例如某个特定用户读取的所有机密,或某一类型的所有机密。撤销功能有助于密钥轮换,以及在入侵情况下锁定系统。



其提供了命令与WebUI操作界面。如果要在非开发模式下激活UI界面,需要在Vault服务器配置中设置UI配置选项,UI与Vault侦听器在同一端口上运行。因此必须至少配置一个侦听器节以访问UI。


Vault具备非常详细的功能使用文档,可访问其完整文档API调用的文档值得参考。


最新版本:1.17


项目主页:https://github.com/hashicorp/vault