Как настроить сервер Kafka с протоколами SASL_SSL и GSSAPI - PullRequest
0 голосов
/ 21 марта 2020

Я новичок в Apache Кафка , и вот , что я сделал до сих пор ,

  1. Загружено kafka_2.12-2.1.0
  2. Создать пакетный файл для Zookeeper для запуска сервера zookeeper:

    start kafka_2.12-2.1.0.\bin\windows\zookeeper-server-start.bat kafka_2.12-2.1.0.\config\zookeeper.properties

  3. Создать пакетный файл для Apache Сервер Kafka

    start kafka_2.12-2.1.0\bin\windows\kafka-server-start.bat kafka_2.12-2.1.0\config\server.properties

  4. Запущен производитель с использованием пакетного файла.

    start kafka_2.12-2.1.0.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic 3drocket-player

Работает нормально, но теперь я ищу аутентификацию . Поскольку я должен реализовать потребителя с указанными c настройками аутентификации (требование клиента). Например, протокол безопасности SASL_SSL и Механизм SSL равен GSSAPI . По этой причине я попытался найти и найти документацию по конфлуэту , но проблема в том, что он слишком абстрактен, чтобы сделать каждый шаг.

Я ищу подробные шаги конфигурации в соответствии с моими настройками. Как настроить мой сервер kafka с протоколами SASL SSL и GSSAPI. Сначала я обнаружил, что GSSAPI / Keberos имеет отдельный сервер, нужно ли мне устанавливать больше серверов? В Confluent Kafka есть встроенное решение.

1 Ответ

0 голосов
/ 21 марта 2020

Настройка порта SASL в server.properties

например)

listeners=SASL_SSL://host.name:port
security.inter.broker.protocol=SASL_SSL
sasl.mechanism.inter.broker.protocol=GSSAPI
sasl.enabled.mechanisms=GSSAPI
sasl.kerberos.service.name=kafka
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=keystore_password
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=truststore_password
ssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1

https://kafka.apache.org/documentation/#security_configbroker https://kafka.apache.org/documentation/#security_sasl_config

Клиент: при запуске клиента Kafka вам необходимо установить эти свойства.

security.protocol=SASL_SSL
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=truststore_password
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka

https://kafka.apache.org/documentation/#security_configclients https://kafka.apache.org/documentation/#security_sasl_kerberos_clientconfig

Затем настройте конфигурацию JAAS

KafkaClient {
   com.sun.security.auth.module.Krb5LoginModule required
   useKeyTab=true
   keyTab="path/to/kafka_client.keytab"
   storeKey=true
   useTicketCache=false
   principal="kafka-client-1@EXAMPLE.COM";
};
...