10. 自定义密钥后端实现
Spring Cloud Vault 为最常见的后端集成提供了秘密后端支持。
您可以通过提供一个实现来与任何类型的后端集成,该实现描述如何从要使用的后端获取数据,以及如何通过提供PropertyTransformer
.
为后端添加自定义实现需要实现两个接口:
-
org.springframework.cloud.vault.config.VaultSecretBackendDescriptor
-
org.springframework.cloud.vault.config.SecretBackendMetadataFactory
VaultSecretBackendDescriptor
通常是保存配置数据的对象,例如VaultDatabaseProperties
.Spring Cloud Vault 要求你的类型使用@ConfigurationProperties
以从配置中具体化类。
SecretBackendMetadataFactory
接受VaultSecretBackendDescriptor
创建实际的SecretBackendMetadata
object 中保存 Vault 服务器中的上下文路径、解析参数化上下文路径所需的任何 path 变量以及PropertyTransformer
.
双VaultSecretBackendDescriptor
和SecretBackendMetadataFactory
类型必须在spring.factories
这是 Spring 提供的一种扩展机制,类似于 Java 的 ServiceLoader。