кафка аутентификация и авторизация - PullRequest
0 голосов
/ 01 июня 2018

Я прочитал документы Кафки

Но я не понял.Могу ли я использовать имя пользователя и пароль для Python Producers?

Можно указать, что любой производитель может создавать только темы, например MySQL. (Производитель написал с Python)

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Если вы хотите использовать имя пользователя + пароль для аутентификации, вам нужно включить аутентификацию SASL с помощью простого механизма в вашем кластере.См. Подробные инструкции в разделе Аутентификация с использованием SASL на веб-сайте Kafka.

Обратите внимание, что вы также, вероятно, захотите включить SSL (SASL_SSL), иначе SASL Plain будет передавать учетные данные в виде открытого текста..

Несколько клиентов Python поддерживают SASL Plain, например:


Относительно авторизаций, используя авторизатор по умолчанию, kafka.security.auth.SimpleAclAuthorizer, вы можете ограничить продюсера только тем, что он может производить только тему.Опять же, все это полностью документировано на веб-сайте Kafka в разделе Авторизация и ACL .

Например, для SASL Plain по умолчанию имя принципала - это имя пользователя, которое использовалось для подключения.Используя следующую команду, вы можете ограничить пользователя Alice, чтобы иметь возможность создавать только тему с именем testtopic:

bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:Alice --producer --topic testtopic
0 голосов
/ 01 июня 2018

да, вы можете иметь пользователя / передать по теме.см. официальную документацию Авторизация и ACL .

Вы можете включить защиту с помощью SSL или SASL, поддержка SASL Kafka:

  • SASL /GSSAPI (Kerberos) - начиная с версии 0.9.0.0
  • SASL / PLAIN - начиная с версии 0.10.0.0
  • SASL / SCRAM-SHA-256 и SASL / SCRAM-SHA-512 - запускв версии 0.10.2.0

Из документов приведен пример добавления Acls:

Предположим, вы хотите добавить acl "Принципалы Пользователь: Боб и Пользователь: Алиса может выполнять Операцию".Чтение и запись по теме «Test-Topic от IP 198.51.100.0 и IP 198.51.100.1».Вы можете сделать это, выполнив CLI со следующими параметрами: 1

bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:Bob --allow-principal User:Alice --allow-host 198.51.100.0 --allow-host 198.51.100.1 --operation Read --operation Write --topic Test-topic

Также в этом блоге вы можете найти некоторую информацию

Я не уверен, чтоиспользуемая вами библиотека, но это просто вопрос передачи правильных свойств производителю / клиенту; kafka-python имеет поддержку:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...