Apache Kafka config settings and kafka-python arguments for setting up plaintext authentication on Kafka.
You’ll need to follow these instructions for creating the authentication details file and Java options.
I exposed the auth endpoint to port 9095. All other ports were closed via AWS security groups.
Kafka config settings:
security.inter.broker.protocol=PLAINTEXT sasl.mechanism.inter.broker.protocol=PLAIN sasl.enabled.mechanisms=PLAIN advertised.listeners=SASL_PLAINTEXT://example.com:9095,PLAINTEXT://example.com:9092 listeners = SASL_PLAINTEXT://0.0.0.0:9095,PLAINTEXT://0.0.0.0:9092
kafka-python client command for connecting:
from kafka import KafkaProducer producer = KafkaProducer(bootstrap_servers='example.com:9095', security_protocol="SASL_PLAINTEXT", sasl_mechanism='PLAIN', sasl_plain_username='username', sasl_plain_password='password')