Как защитить тему кафки с помощью имени пользователя и пароля из командной строки / командной строки?

Я установил Docker на свою Windows 10, а также установил Kafka. Я создал тему «test» внутри кластера Kafka. Теперь я хочу защитить тему с помощью простого имени пользователя и пароля. Я новичок в Kafka, любая помощь будет очень признательна.

Для запуска команд Kafka я использую Windows «Power Shell».

Я пробовал запустить несколько команд в командной строке

Чтобы создать темы: - kafka-themes --create --topic test --partitions 1 --replication-factor 1 --if-not-exists --zookeeper zookeeper: 2181

Чтобы защитить тему, я использовал команду: kafka-acls --topic test --producer --authorizer-properties --zookeeper zookeeper: 2181 --add --allow-Principal Пользователь: alice

К сожалению, там написано: «bash: afka-acl: команда не найдена».

Нужно ли мне что-нибудь включать в файл конфигурации Kafka? или можно ли просто запускать команды из командной оболочки и защищать тему?

Защита с помощью имени пользователя и пароля совпадает с ACL или отличается?




Ответы (1)


Kafka поддерживает аутентификацию подключений к брокерам от клиентов (производителей и потребителей), используя

SSL

SASL (Kerberos) и SASL / PLAIN

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

ACL - это авторизация, которая определяет, какой пользователь к каким темам имеет доступ. См. Эту ссылку

person asolanki    schedule 23.10.2019
comment
@asolanki --- Спасибо за отличную и лаконичную информацию. но в каком файле я могу добавить эту конфигурацию для SASL / PLAIN? Я просто ссылаюсь на этот пример, представленный здесь: docs.confluent.io/ current / quickstart / ce-docker-quickstart.html # - person kishu; 23.10.2019
comment
в документации SASL они просят добавить: -Djava.security.auth.login.config = / etc / kafka / kafka_server_jaas.conf файл для каждого брокера, но где именно я должен его добавить. - person kishu; 24.10.2019