KAFKA: соединение с узлом не прошло аутентификацию из-за: аутентификации не удалось из-за неверных учетных данных с механизмом SASL SCRAM-SHA-256

Я пытался добавить аутентификацию SASL для моих Kafka Brokers, используя SASL_PLAINTEXT SCRAM-SHA-256 некоторое время, но безуспешно. Я продолжаю получать следующую ошибку в лог-файле Кафки.

ОШИБКА [ID контроллера =0, targetBrokerId=0] Соединение с узлом 0 не прошло аутентификацию из-за: аутентификации не удалось из-за неверных учетных данных с механизмом SASL SCRAM-SHA-256 (org.apache.kafka.clients.NetworkClient).

Но я следил за документами Кафки по SCRAM Config до письма и не добился успеха в достижении этой цели.

Я зарегистрировал администратора на Zookeeper, используя kafka-configs.sh, как показано ниже:

bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=admin-secret],SCRAM-SHA-512=[password=admin-secret]' --entity-type users --entity-name admin

Вот часть моего server.properties, где я настраиваю SCRAM-SHA-256.

broker.id=50
sasl.enabled.mechanisms=SCRAM-SHA-256
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256
security.inter.broker.protocol=SASL_PLAINTEXT
listeners=SASL_PLAINTEXT://172.16.3.21:9092
advertised.listeners=SASL_PLAINTEXT://172.16.3.21:9092
listener.name.sasl_plaintext.scram-sha-256.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="admin" \
    password="admin-secret";

0 ответов

Создание CA на одном узле и копирование его на другой узел вручную сработало для меня.

ШАГ 1- ЗАПУСТИТЕ на каждом узле

keytool -keystore server.keystore.jks -alias kafka -dname "cn = kafka, ou=it, o =stackru, l =alpha, st =beta, c =IN" -storepass test123 -validity 365 -keyalg RSA -genkey - ext SAN = DNS:kafka-host1, DNS:kafka-host2, DNS:kafka-host3, DNS: localhost, DNS: kafka

ШАГ 2 - проверьте сертификат

keytool -list -v -keystore server.keystore.jks

ШАГ 3 - сгенерируйте его один раз на одном узле и скопируйте на другие узлы.

openssl req -new -x509 -keyout ca-key -out ca-cert -days 365 -subj "/ C=IN / ST=beta/O=stackru/ OU=it/L=alpha/CN=kafka"

ОСТАВШИЕСЯ ШАГИ НИЖЕ НЕОБХОДИМЫ ДЛЯ ЗАПУСКА НА КАЖДОМ УЗЛЕ

keytool -keystore server.truststore.jks -alias CARoot -import -file ca-cert -storepass test123 -noprompt

keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert -storepass test123 -noprompt

keytool -keystore server.keystore.jks -alias kafka -certreq -file cert-file -storepass test123

openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days 3650 -CAcreateserial -passin pass:test123

keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert -storepass test123 -noprompt

keytool -keystore server.keystore.jks -alias kafka -import -file с подписью сертификата -storepass test123 -noprompt

Другие вопросы по тегам