Я успешно настроил SASL PLAIN и PLAINTEXT для брокеров Kafka, в том смысле, что клиенты не могут потреблять или производить успешно, не предоставив kafka_client_jaas.conf
действительные учетные данные пользователя и пароль из-за ошибки аутентификации.
Однако я не могу сделать то же самое для Zookeeper, так что, например, kafka_topics.sh
успешно подключается к Zookeeper, не имея KAFKA_OPTS
настройки java.security.auth.login.config
, которая указала бы на любой файл jaas.conf
. Я предполагал, что он должен будет указывать на те же kafka_client_jaas.conf
, что и на потребителей и производителей консоли, поскольку есть раздел Client, определенный для аутентификации в Zookeeper. Я добавил следующие три строки в файл zookeeper.properties
(я не знаю, для чего используется третья строка):
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
Я создал zookeeper_jaas.conf
(определяющий раздел сервера) и запустил Zookeeper с KAFKA_OPTS
, указывающим на него, и добавил клиентский раздел к kafka_server_jaas.conf
, чтобы брокеры правильно проходили аутентификацию в Zookeeper, в значительной степени, как описано здесь:
Проверка подлинности Kafka SASL zookeeper
но я не могу спровоцировать сбой аутентификации при запуске kafka_topics.sh
, как уже упоминалось. Где я ошибся?