嗨,我有一个问题,连接到我的服务器上的卡夫卡…
我在Linux服务器上有kafka (使用Kerberos),java客户端通过添加配置键表,主体(jaas配置)连接到它,现在我需要添加类似配置到c#应用程序,这将产生一些消息到kafka。C#应用程序将在Windows机上运行。
C#应用程序使用的是Confluent.Kafka,连接到没有kerberos身份验证的kafka非常简单,我像在https://github.com/confluentinc/confluent-kafka-dotnet中那样做
但现在我需要将其配置为连接到安全环境...
那么如何配置将使用现有密钥表文件和主体连接?
我在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"}
};发布于 2018-02-07 01:28:48
confluent- Kafka -dotnet (或者更准确地说,librdkafka,底层Kafka客户端实现)将在Windows上使用Windows原生SSPI进行Kerberos身份验证。这意味着您将不能使用键表等,而是依赖于Windows AD上登录用户的凭据。
这里有一个社区贡献的指南:https://github.com/edenhill/librdkafka/wiki/Using-SASL-with-librdkafka-on-Windows
https://stackoverflow.com/questions/48621528
复制相似问题