嗨,我有一个问题,连接到Kafka在我的服务器上。。。
我在linux服务器上有kafka(带有kerberos),java客户机通过添加configuration keytab、principal(jaas config)与之连接,现在我需要向c#app添加类似的配置,它将向kafka生成一些消息。c#应用程序将在windows计算机上运行。
应用程序正在使用confluent.kafka,连接到没有kerberos身份验证的kafka非常简单,我就像在https://github.com/confluentinc/confluent-kafka-dotnet
但现在我需要配置它连接到安全环境。。。
那么如何配置将使用现有keytab文件和主体的连接呢?
我在java中看到了很多例子,但在c中没有类似问题的工作示例#
如果有任何提示能进一步解决我的问题,我将不胜感激
//更新
当我使用config时它就开始工作了,比如:
config = new Dictionary<string, object>
{
{"bootstrap.servers", KAFKA_BROKER_SERVERS},
{"api.version.request", "true"},
{"security.protocol", "SASL_PLAINTEXT"},
{"sasl.kerberos.service.name", "kafka"},
{"sasl.kerberos.principal", "myPrincaipal@REALM"},
{"debug", "security,broker,protocol"}
};
1条答案
按热度按时间vohkndzv1#
合流kafka dotnet(或者更准确地说是librdkafka,底层kafka客户机实现)将在windows上使用windows本机sspi进行kerberos身份验证。这意味着您将无法使用keytab等,而是依赖于windows广告上登录用户的凭据。
这里有一个社区贡献的指南:https://github.com/edenhill/librdkafka/wiki/using-sasl-with-librdkafka-on-windows