Giampaolo,

You can set up two listeners on the broker with protocols SSL and SASL_SSL.
And set *ssl.client.auth=required*, *security.inter.broker.protocol=SSL*.
This performs SSL client authentication on the SSL channel and SASL
authentication on the SASL_SSL channel. Inter-broker connections are
encrypted and use certificate-based authentication since they are using the
SSL channel. Other producers and consumers connecting using the SASL_SSL
channel are encrypted and will be authenticated using SASL, so these
clients do not require a keystore.

Hope that helps.

On Mon, May 9, 2016 at 2:58 PM, Giampaolo Trapasso <
giampaolo.trapa...@radicalbit.io> wrote:

> Hi to all,
>
> I successfully put my simple Kafka cluster under TSL following official
> documentation.
> So in current configuration, inter-broker communication is done through SSL
> (security.inter.broker.protocol=SSL) and client authentication is required
> (
> ssl.client.auth=required).
>
> I would like to know if with these options, every broker is also
> authenticating itself, besides doing encrypted communication. That is, if
> with ssl.client.auth we mean both brokers and consumers/producers.
>
> Moreover, I would like to know if is it possible to authenticate
> consumers/producers through SASL/Kerberos while keeping inter-broker
> authentication/communication through TSL.
>
> I read the Ismael Juma tutorial on this (
>
> http://www.confluent.io/blog/apache-kafka-security-authorization-authentication-encryption
> ).
> It points in this direction, but there's something I did not fully
> understand. For example, if consumer authenticates with kerberos, client
> keystore should not be provided in configuration and ssl.client.auth should
> be false on server (unless is required for brokers).
>
> Thank you in advance for any kind of help and explanation.
>
> Giampaolo
>



-- 
Regards,

Rajini

Reply via email to