使用自定义[“org.apache.kafka.common.config.provider”]管理Vault Secret的生命周期

问题描述 投票:0回答:1

我的问题涉及“org.apache.kafka.common.config.provider”接口。如文档中所示: https://kafka.apache.org/35/javadoc/org/apache/kafka/common/config/provider/ConfigProvider.html

public interface ConfigProvider extends Configurable, Closeable

这个ConfigProvider接口提供了以下方法:

ConfigData get(String path)

检索给定路径的数据。

ConfigData get(String path, Set<String> keys)

在给定路径上使用给定键检索数据。

void configure(Map<String,?> configs)

使用给定的键值对配置此类。

我想为动态数据库机密创建一个 Vault 配置提供程序。

对于 void configure(Map configs) 方法,我将配置(通过添加保管库连接参数)允许我检索机密的类。

对于 ConfigData get(String path) 和 ConfigData get(String path, Set keys) 方法,它将定义如何检索 Vault 中的机密。

我对机密的生命周期有疑问。假设我开发了一种方法,能够在 Vault 密钥被修改或更新时告诉我,我如何集成它来触发我的自定义 ConfigProvider,以便它可以获取正确的值并使用此提供程序更新 Kafka Connect 连接器的配置?

您有任何代码示例可以作为我的灵感吗?

apache-kafka apache-kafka-connect hashicorp-vault
1个回答
0
投票

我不知道我的问题是正确的还是被误解了。 我并不是在寻找 github 项目的示例来开发自定义提供程序。我正在寻找一种持续管理秘密更新的方法。 我终于找到了与您分享的解决方案。我们可以更新这些值。 解决方案在于使用“public ConfigData(Map data, Long ttl)” 在 get 方法中返回配置。这将强制提供程序获取每个“ttl ms”新值。

© www.soinside.com 2019 - 2024. All rights reserved.