Как запустить kafka production. sh & consumer. sh для конкретного пользователя для проверки ACL? - PullRequest
0 голосов
/ 02 апреля 2020
./bin/kafka-console-producer.sh --broker-list 10.162.0.6:32294 --topic my-topic
./bin/kafka-console-consumer.sh --bootstrap-server 10.162.0.6:32294 --topic my-topic --from-beginning 

Я новичок в кафке. Моя кафка работает на strimzi операторе kubernetes, развернутом с помощью Helm.

Я создал топи c с именем my-topi c и выполняю более 2 команд в два отдельных терминала. Что бы я ни печатал сообщения для производителя, я вижу их в ответ на приведенную выше команду потребителя!

Теперь я создал 2 пользователей: usera & userb с ACL, usera ACL полностью заблокирован для доступа к topi c другой пользователь userb имеет полный доступ к ACL для доступа к Topi c: my-topi c.

Чтобы проверить этот ACL, т.е. если я запускаю продюсера и потребителя с usera , то должно отображаться отказанное разрешение, и если я запускаю продюсера и потребителя с другим userb , тогда он сможет доступ к топи c.

Но хотите знать, как выполнить вышеуказанные команды для пользователя?

или, пожалуйста, предложить, как проверить сценарий.

1 Ответ

0 голосов
/ 02 апреля 2020

Это будет зависеть от типа аутентификации, который вы установили в своем развертывании Kafka (используя аутентификацию клиента TLS или SCRAM-SHA), и я предполагаю, что вы используете User Operator для создания пользователей (ресурс KafkaUser). В первом случае вы должны извлечь хранилище ключей и соответствующий пароль из секрета, который пользовательский оператор создает при создании нового KafkaUser; Вы можете использовать это хранилище ключей для настройки файла свойств (с ssl.keystore.location и ssl.keystore.password), который можно передать производителю с помощью параметра --producer.config или потребителю с помощью параметра --consumer.config. , Конечно, если аутентификация клиента TLS включена, это означает, что у вас есть TLS, поэтому вам нужно извлечь склад доверенных сертификатов и связанный пароль из Секрета, содержащего сертификат CA кластера для вашего кластера (подробнее здесь https://strimzi.io/docs/master/#configuring -external-clients). -в-траст-кластер-ча-ул ). Затем вы можете использовать его для настройки ssl.truststore.location и ssl.truststore.password в одном файле свойств. Если вы используете SCRAM-SHA, вам нужно извлечь имя пользователя и пароль из секрета, связанного с KafkaUser, и настроить свойство JAAS в приведенном выше файле свойств.

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