[
https://issues.apache.org/jira/browse/KAFKA-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14196422#comment-14196422
]
Sriharsha Chintalapani commented on KAFKA-1686:
-----------------------------------------------
[~junrao] I was thinking of using jaas.conf which is what we used for storm
http://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html.
It allows the service to renewTGT. Kerberos tickets can be valid for more than
10hrs it depends the config /etc/krb5.conf. We can have renewTicket thread that
checks for the current ticket_lifetime and renew_lifetime and renews if the
current ticket lifetime expired.
Each broker will run with its own keytab kafkabroker/_HOST@REALM. If you are
using service keytab they should've grant all permissions in permissions
manager. This could be as simple as setting a config option in permission
manager where you can whitelist a principal as admin and use that principal for
brokers.
For example:
kafka.admins: "kafkabroker"
and run all the brokers with kafkabroker/_HOST@REALM.
User needs to be careful in setting keytab permissions so that service keytabs
cannot be accessed by regular user to impersonate a kafkabroker and gain all
access.
> Implement SASL/Kerberos
> -----------------------
>
> Key: KAFKA-1686
> URL: https://issues.apache.org/jira/browse/KAFKA-1686
> Project: Kafka
> Issue Type: Sub-task
> Components: security
> Affects Versions: 0.9.0
> Reporter: Jay Kreps
> Assignee: Sriharsha Chintalapani
> Fix For: 0.9.0
>
>
> Implement SASL/Kerberos authentication.
> To do this we will need to introduce a new SASLRequest and SASLResponse pair
> to the client protocol. This request and response will each have only a
> single byte[] field and will be used to handle the SASL challenge/response
> cycle. Doing this will initialize the SaslServer instance and associate it
> with the session in a manner similar to KAFKA-1684.
> When using integrity or encryption mechanisms with SASL we will need to wrap
> and unwrap bytes as in KAFKA-1684 so the same interface that covers the
> SSLEngine will need to also cover the SaslServer instance.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)