在 Kafka 连接器中屏蔽登录凭据不起作用

Masking login credentials in Kafka Connector does not work

这些是我完成的步骤:

  1. 将这两行添加到连接-standalone.properties(也添加到分布式的)
 config.providers=file

 config.providers.file.class=org.apache.kafka.common.config.provider.FileConfigProvider
  1. 创建了文件并添加了用户名和密码
 /kafka/vty/pass.properties
 
 con_usr=XXXXX

 con_pwd=XXXXX
  1. 使用文件中的值创建了连接器
"connection.user": "${file:/kafka/vty/pass.properties:con_usr}",
"connection.password": "${file:/kafka/vty/pass.properties:con_pwd}",

它仍然给出“无效 username/password”错误。我尝试在 pass.properties 中提供带引号和不带引号的凭据,但结果相同。当我在没有屏蔽的情况下连接时,它没有任何问题。

我知道我的方法有点不同,但也许它能有所帮助。我创建了一个简单的 class 来映射 appsettings.json 文件的一部分,您可以在其中存储用户 ID 和密码。

appsettings.json 部分是:

  "Kafka": {
    "UserId": "user",
    "Password": "pw"
    "GroupId": "groupname",
    "...", "..."
  },

Kafka 配置很简单:

public class Kafkaconfiguration
{
    public string UserId { get; set; }
    public string Password { get; set; }
    public string GroupId { get; set; }
}

在 CreateHostBuilder() 函数中,我添加了这些行:

   var kafkaConfiguration = new Kafkaconfiguration();
   hostingContext.Configuration.GetSection("Kafka").Bind(kafkaConfiguration);

然后您在 kafkaConfiguration 属性中拥有凭据

我正在将 FileConfigProvider 行添加到位于 /kafka/confluent-5.4.1/etc/kafka 的“connect-standalone.properties”。但是相反,我需要编辑 /kafka/confluent-5.4.1/etc/schema-registry/.

中的“connect-avro-distributed.properties”文件

这解决了问题,我不知道这个文件被用作配置。如果有人遇到同样的问题,您可能想检查一下 Kafka Connect 是如何创建的。