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对象,用于保存 Vault 服务器中的上下文路径,解析参数化上下文路径所需的任何路径变量,以及PropertyTransformer.
双VaultSecretBackendDescriptor和SecretBackendMetadataFactory类型必须在spring.factories这是 Spring 提供的扩展机制,类似于 Java 的 ServiceLoader。