前言

Spring Vault 项目将核心 Spring 概念应用于使用 HashiCorp Vault 的解决方案开发。我们提供了一个 “template” 作为存储和查询文档的高级抽象。您将注意到与 Spring Framework 中的 REST 支持的相似之处。spring-doc.cn

本文档是 Spring Vault 的参考指南。它解释了 Vault 的概念和语义以及语法。spring-doc.cn

参考文档的这一部分解释了 Spring Vault 提供的核心功能。spring-doc.cn

Vault 支持引入了 Vault 模块功能集。spring-doc.cn

1. 文档结构

本节提供了 Spring 和 Vault 的基本介绍。 它包含有关后续开发以及如何获得支持的详细信息。spring-doc.cn

本文档的其余部分引用了 Spring Vault 功能,并假定 用户熟悉 HashiCorp Vault 以及 Spring 概念。spring-doc.cn

2. 认识Spring

Spring Vault 使用 Spring 框架的核心功能,例如 IoC 容器。虽然了解 Spring API 并不重要,但了解它们背后的概念很重要。至少,无论您选择使用什么 IoC 容器,都应该熟悉 IoC 背后的概念。spring-doc.cn

可以直接使用 Vault 支持的核心功能,而无需调用 Spring Container 的 IoC 服务。这很像 Spring 容器可以“独立”使用,而无需 Spring 容器的任何其他服务。要利用 Spring Vault 文档的所有功能,例如会话支持,您需要使用 Spring 配置库的某些部分。RestTemplatespring-doc.cn

要了解有关 Spring 的更多信息,您可以参考详细解释 Spring 框架的全面(有时是令人放松的)文档。有很多关于这个问题的文章、博客条目和书籍 - 请查看 Spring 框架主页以获取更多信息。spring-doc.cn

3. 了解保险库

安全性和使用密钥是每个使用数据库、用户凭证或 API 密钥的开发人员都关心的问题。Vault 通过提供结合访问控制、撤销、密钥滚动和审计的安全存储来介入。简而言之:Vault 是一种用于安全访问和存储 secret 的服务。密钥是您想要严格控制访问的任何内容,例如 API 密钥、密码、证书等。spring-doc.cn

学习 Vault 的起点是 www.vaultproject.io。以下是有用的资源列表:spring-doc.cn

Spring Vault 为访问、存储和撤销秘密提供了客户端支持。 使用 HashiCorp 的 Vault,您可以在一个中心位置 管理所有环境中应用程序的外部密钥数据。 Vault 可以管理静态和动态 Secret,例如应用程序数据、 远程应用程序/资源的用户名/密码并提供凭据 用于 MySQL、PostgreSQL、Apache Cassandra、Consul、AWS 等外部服务。spring-doc.cn

4. 要求

Spring Vault 2.x 二进制文件需要 JDK 级别 8.0 及以上,以及 Spring Framework 6.0.11 及以上版本。spring-doc.cn

在 Vault 方面,Vault 至少为 v0.9.6。spring-doc.cn

5. 其他帮助资源

学习新框架并不总是一帆风顺的。在本节中,我们尝试提供我们认为易于遵循的指南 Spring Vault 模块。但是,如果您遇到问题或只是在寻求建议,请随时使用以下链接之一:spring-doc.cn

5.1. 支持

有几个支持选项可用:spring-doc.cn

5.1.1. 社区论坛

Stackoverflow 上发布有关 Spring Vault 的问题,以共享信息并互相帮助。请注意,只有过帐时才需要注册。spring-doc.cn

5.1.2. 专业支持

Spring Vault 和 Spring 背后的公司 Pivotal Software, Inc. 提供专业的源头支持,并保证响应时间。spring-doc.cn

5.2. 跟随开发

有关 Spring Vault 源代码存储库、夜间构建和快照工件的信息,请参见 Spring Vault 主页。您可以通过 Stackoverflow 上的社区与开发人员互动,帮助使 Spring Vault 最好地满足 Spring 社区的需求。如果您遇到错误或想要提出改进建议,请在 Spring Vault 问题跟踪器上创建一个工单。要及时了解 Spring 生态系统中的最新消息和公告,请订阅 Spring 社区门户。最后,您可以在 Twitter (SpringCentral) 上关注 Spring 博客或项目团队。spring-doc.cn

6. 新的和值得注意的

6.1. Spring Vault 3.0 中的新功能

6.2. Spring Vault 2.4 中的新功能

6.3. Spring Vault 2.3 中的新功能

  • 支持 PEM 编码的证书,用于密钥库和信任库。spring-doc.cn

  • ReactiveVaultEndpointProvider用于非阻塞查找 。VaultEndpointspring-doc.cn

  • VaultKeyValueMetadataOperations用于键值元数据交互。spring-doc.cn

  • 支持 Secrets Engine (Enterprise Feature)。transformspring-doc.cn

  • 有关如何使用 Vault 秘密后端的文档。spring-doc.cn

  • 每次登录尝试时,都会重新加载 Kubernetes 和 PCF 身份验证的登录凭证。spring-doc.cn

  • SecretLeaseContainer发布,而不是 和 在成功进行密钥轮换时发布。SecretLeaseRotatedEventSecretLeaseExpiredEventSecretLeaseCreatedEventspring-doc.cn

  • AbstractVaultConfiguration.threadPoolTaskScheduler()Bean 类型更改为 而不是 。TaskSchedulerWrapperThreadPoolTaskSchedulerspring-doc.cn

  • 从 2.3.2 开始:GcpIamCredentialsAuthenticationspring-doc.cn

6.4. Spring Vault 2.2 中的新功能

6.5. Spring Vault 2.1 中的新功能

6.6. Spring Vault 2.0 中的新功能

6.7. Spring Vault 1.1.0 中的新功能

6.8. Spring Vault 1.0 中的新功能