Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kafka security and authentication

We are trying to make Kafka for public accessible.Does Kafka support SSL connection? Is there possible to authenticate client connection? Please share some idea's to implement..

like image 963
kannadhasan Avatar asked Nov 01 '14 15:11

kannadhasan


People also ask

Does Kafka have authentication?

Kafka uses SASL to perform authentication. It currently supports many mechanisms including PLAIN , SCRAM , OAUTH and GSSAPI and it allows administrator to plug custom implementations. Authentication can be enabled between brokers, between clients and brokers and between brokers and ZooKeeper.

What is Kafka security?

Kafka supports cluster encryption and authentication, including a mix of authenticated and unauthenticated, and encrypted and non-encrypted clients. Using security is optional. Here a few relevant client-side security features: Encrypt data-in-transit between your applications and Kafka brokers.

How does Kafka SASL work?

Kafka uses the Java Authentication and Authorization Service (JAAS) for SASL configuration. You must provide JAAS configurations for all SASL authentication mechanisms. There are two ways to configure Kafka clients to provide the necessary information for JAAS: Specify the JAAS configuration using the sasl.


2 Answers

Security wasn't part of Apache Kafka's original goal. However it is planned to implement authentication and authorization in the future. You can have a look here: Apache Kafka Security.

like image 119
Chiron Avatar answered Oct 02 '22 07:10

Chiron


SSL security is supported starting from 0.9.x, so it's possible to authenticate client's connection based on CN name in SSL certificate and ACL settings for the topic. https://cwiki.apache.org/confluence/display/KAFKA/Deploying+SSL+for+Kafka

like image 26
Dmitry Buykin Avatar answered Oct 02 '22 07:10

Dmitry Buykin