Кафка динамически добавляет пользователей SASL без перезапуска кластера - PullRequest
0 голосов
/ 11 января 2019

Мы хотим добавить аутентификацию в наш кластер kafka с помощью SASL. Как мы видим, мы хотим иметь возможность часто добавлять пользователей, которых мы ищем, чтобы сделать это без необходимости повторного запуска.

Что мы пробовали:

Используя интерфейс конфигурации Dynamic Broker, переконфигурируйте listener.name.sasl_plaintext.plain.sasl.jaas.config для всех брокеров.

Кафка брокеры забирают изменения в зоопарке [2019-01-11 11:08:23,403] INFO Processing override for entityPath: brokers/1 with config: Map(listener.name.sasl_plaintext.plain.sasl.jaas.config -> encryptedPassword:XXX,keyLength:128,cipherAlgorithm:AES/CBC/PKCS5Padding,initializationVector:YYY,keyFactoryAlgorithm:PBKDF2WithHmacSHA512,salt:ZZZ,iterations:4096,passwordLength:270) (kafka.server.DynamicConfigManager)

Однако новые пользователи не могут подключиться, пока не будет перезапущен посредник.

Можно ли добавить новых пользователей в конфигурацию SASL JAAS без перезапуска кластера Kafka?

1 Ответ

0 голосов
/ 12 января 2019

Если вы используете механизм plain в sasl_plaintext, На основании этого ответа вы не можете добавить нового пользователя в работающий кластер.

Вместо этого вы можете переключиться на механизм SCRAM и после этого вы сможете создать пользователя в работающем кластере с помощью команды, подобной этой:

$ > bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=alice-secret],SCRAM-SHA-512=[password=alice-secret]' --entity-type users --entity-name alice

Однако вам все равно нужно сохранить файл конфигурации JAAS, но вы просто передаете его один раз при запуске сервера.

Вот полезная ссылка в документе Kafka об использовании механизма SCRAM.

...