как дать доступ к теме одному конкретному пользователю?
Я собираю данные с разных ресурсов, у каждого ресурса есть своя конкретная тема для каждого клиента. Я хочу предоставить каждому пользователю доступ только к соответствующей теме, чтобы у них не было доступа ко всем темам. Я работаю с Kafka 0.10 и использую инструменты Kafka. есть решение?
1 ответ
Вам необходимо настроить авторизацию с помощью ACL.
Как включить ACL:
В твоем server.properties
файл, вам необходимо создать Authorizer
добавив следующую строку:
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
Теперь вам нужно следовать документации, чтобы правильно настроить ACL на основе ваших вариантов использования.
Добавление ACL
Теперь, когда все готово, предположим, что у вас есть тема под названием testTopic
к которому вы хотите предоставить доступ для чтения и записи только пользователю с именем Bob
с хоста с IP 197.5.6.1
:
bin/kafka-acls --authorizer-properties zookeeper.connect=localhost:2181 \
--add \
--allow-principal User:'Bob' --allow-host '197.5.6.1' \
--operation Read --operation Write \
--topic testTopic \