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

Я установил Docker на свою Windows 10, а также установил Kafka. Я создал "тестовую" тему внутри кластера 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: command not found"

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

Защита с помощью имени пользователя и пароля такая же, как ACL, или другая?

1 ответ

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

SSL

SASL (Kerberos) и SASL/PLAIN

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

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