2016-10-13 4 views
2

Как с официальными документами Kafka, так и с океаном блогов, которые произошли во время моих поездок, похоже, что я могу развернуть брокера Kafka, чей файл конфигурации server.properties содержит:Использование списков ACL суперпользователя Kafka со стороны клиента

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 
super.users=User:Bob;User:Alice 

Это определяет два суперпользователя (Bob + Алиса), которые затем могут производить сообщения в и потребляющие сообщения от пользователя, тем моего брокера.

Но как я могу использовать этих пользователей с клиентской стороны? Если у меня есть клиент Java, который должен отправлять сообщения моему броузеру Kafka, как этот клиент «аутентифицирует» себя как «Боб» (или «Алиса» или любой другой суперпользователь)?

И где пароли суперпользователя определены/использованы?!?

ответ

1

На этой неделе я сделал несколько копаний, и похоже, что в Кафке не поддерживаются учетные данные «basic auth» (имя пользователя + пароль).

Похоже, вы можете настроить Kerberos или аналогичное решение (JAAS/SASL и т. Д.), Чтобы создать билетную службу, которая работает с Kafka, для чего, по-видимому, предназначены эти ACL. I думаю, Суть в том, что вы сначала должны аутентифицироваться, скажем, Kerberos, и в этот момент вам будет предоставлен билет/токен. Затем вы представите свое имя пользователя/принцип вместе со своим билетом в Кафку, а Кафка будет работать с Kerberos, чтобы гарантировать, что билет по-прежнему действителен. I думаю вот как это работает, основываясь на каких-то неясных/смутных блогах, в которые я мог справиться.

Я также вижу доказательства того, что Kafka в настоящее время или планирует, имея некоторую поддержку уровня интеграции с LDAP, и поэтому вы можете подключить свой кластер Kafka до AD или аналогичного.

Лучший способ управления аутентификацией Kafka, как ни странно, кажется, является инструментом Yahoo! Kafka Manager, который, кажется, очень популярный, ухоженный проект, насыщенный недавними обновлениями и поддержкой сообщества. Скорее всего, я буду работать, по крайней мере, на данный момент. НТН.