Кафка: динамически обновлять jaas config - PullRequest
0 голосов
/ 27 февраля 2019

Я установил конфигурацию jaas для kafka, используя свойство sasl.jaas.config.Я хочу обновить этот конфиг и динамически добавлять пользователей.

Согласно этому документу - http://kafka.apache.org/11/documentation.html#dynamicbrokerconfigs, мы можем сделать это, используя bin/kafka-configs.sh.

В приведенном выше документе есть столбец конфигурации, который говорит следующее: enter image description here

Я попытался обновить sasl.jaas.config с помощью следующей команды:

bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 59 --alter --add-config sasl.jaas.config="KafkaServer {\n org.apache.kafka.common.security.plain.PlainLoginModule required\n username=\"myuser\"\n password=\"mypassword\";\n};\nClient {\n org.apache.zookeeper.server.auth.DigestLoginModule required\n username=\"myuser2\"\n password=\"mypassword2\";\n};"

Но это даетмне следующая ошибка:

requirement failed: Invalid entity config: all configs to be added must be in the format "key=val"

Если я посмотрю на вышеприведенный столбец, он говорит, что формат для значения sasl.jaas.config свойства равен (=)*.Что это значит?

Как передать значение sasl.jaas.config для динамического обновления конфигурации jaas?

1 Ответ

0 голосов
/ 27 февраля 2019

Хотя можно динамически обновлять sasl.jaas.config, чтобы добавить больше пользователей, модуль простого входа в систему по умолчанию не предназначен для использования в рабочей среде.

Вместо этого вы должны определить обработчики обратного вызова для обработки аутентификации пользователей.Это описано в документах Kafka Sasl Plain .

Другой вариант, который требует больше работы (но дает еще большую гибкость), - это создание собственного модуля входа.Процесс описан в Может ли Kafka быть снабжен пользовательским LoginModule для поддержки LDAP?


Что касается получаемого сообщения об ошибке, похоже, это проблема с инструментом kafka-config.sh,Он не ожидает, что значение конфигурации будет содержать =.Вы должны иметь возможность обновить эту конфигурацию, используя AdminClient API.

Я не смог найти существующую проблему в JIRA, поэтому создал новую: https://issues.apache.org/jira/browse/KAFKA-8010

...