Vault
本章指出 Vault 支持的特殊之处。
章节摘要
Vault Client 访问
Spring Vault 框架提供的价值或许最好通过下表概述的一系列操作来展示。该表显示了在选择特定客户端选项时,Spring 负责哪些功能:
认证方法
不同的组织对安全和认证有不同的要求。Vault 通过提供多种认证方法反映了这一需求。Spring Vault 支持多种认证机制。
VaultTemplate 简介
VaultTemplate 类位于 org.springframework.vault.core 包中,是 Spring Vault 支持的核心类,提供了丰富的功能集来与 Vault 交互。该模板提供了在 Vault 中读取、写入和删除数据的便捷操作,并在你的领域对象和 Vault 数据之间提供映射。
响应式基础架构
本节介绍使用 Spring Vault 的响应式编程支持的基础信息。
Vault 机密引擎
Spring Vault 附带几个扩展来支持 Vault 的各种机密引擎。
属性源
Vault 可以以多种不同的方式使用。一个特定的用例是使用 Vault 存储加密属性。Spring Vault 支持将 Vault 作为属性源,通过 Spring 的 PropertySource 抽象获取配置属性。
凭据轮换
Vault 全面的凭据轮换功能允许自动续期和轮换机密,例如数据库凭据。通过将机密有效期绑定到应用程序实例生命周期,你的应用程序无需人工干预即可保持对有效凭据的访问。被泄露的凭据仅在有限时间内有效,并且影响被隔离在单个应用程序实例内。
Vault 仓库
使用 VaultTemplate 并将响应映射到 Java 类,可以实现读取、写入和删除等基本数据操作。Vault 仓库在 Vault 之上应用 Spring Data 的仓库概念。Vault 仓库暴露基本的 CRUD 功能,并支持使用约束标识符属性的谓词进行查询派生、分页和排序。Vault 仓库使用键/值机密引擎功能来持久化和查询数据。自版本 2.4 起,Spring Vault 还可以使用键/值版本 2 机密引擎,实际的机密引擎版本在运行时发现。
Spring Security
Spring Vault 通过为 BytesKeyGenerator 和 BytesEncryptor 提供实现来与 Spring Security 集成。这两种实现都使用 Vault 的 transit 引擎。
HTTP 客户端支持
Spring Vault 支持各种 HTTP 客户端来访问 Vault 的 HTTP API。Spring Vault 使用 VaultClient 作为访问 Vault 的主要接口。VaultClient 设计为可扩展的,并允许基于类似于 RestClient 的设计插入不同的 HTTP 客户端。专门的客户端支持源于仅作用于 Spring Vault 客户端组件的定制 SSL 配置。