Как подключиться к кластеру Kafka с проверкой подлинности Kerberos в Windows с помощью библиотеки Cofluent? - PullRequest
1 голос
/ 31 мая 2019

Я работаю над проектом, который требует от меня подключения к существующему кластеру Kafka с помощью dotnet и библиотеки Confluent.Кластер Kafka использует аутентификацию Kerberous / Keytab.Глядя на некоторые документы , похоже, что вы можете пройти через файл keytab с помощью конфигурации JAAS, но когда я смотрю на свойства для ProudcerConfig в Confluent, я ничего не вижу в аутентификации.Итак, как мне указать файл keytab, чтобы я мог проходить аутентификацию на кластере Kafka?

1 Ответ

0 голосов
/ 31 мая 2019

Я думаю В этом разделе Confluent docs упоминается, как настроить клиенты:

В вашем файле client.properties вам понадобится следующая конфигурация:

sasl.mechanism=GSSAPI
# Configure SASL_SSL if SSL encryption is enabled, otherwise configure SASL_PLAINTEXT
security.protocol=SASL_SSL

sasl.kerberos.service.name=kafka

sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required \
    useKeyTab=true \
    storeKey=true \
    keyTab="/etc/security/keytabs/kafka_client.keytab" \
    principal="kafkaclient1@EXAMPLE.COM";

# optionally - kafka-console-consumer or kafka-console-producer, kinit can be used along with useTicketCache=true
sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required \
   useTicketCache=true;

Чтобы передать client.properties, например, kafka-console-consumer вам также необходимо указать параметр --consumer.config:

Для Linux:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test  --consumer.config client.properties --from-beginning

Для Windows:

bin/kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --consumer.config client.properties --from-beginning
...