You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Manikumar (JIRA)" <ji...@apache.org> on 2017/09/01 06:58:00 UTC
[jira] [Resolved] (KAFKA-4411) broker don't have access to kafka
zookeeper nodes
[ https://issues.apache.org/jira/browse/KAFKA-4411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Manikumar resolved KAFKA-4411.
------------------------------
Resolution: Not A Problem
It is necessary to have the same principal name across all brokers for ZK Authentication.
> broker don't have access to kafka zookeeper nodes
> -------------------------------------------------
>
> Key: KAFKA-4411
> URL: https://issues.apache.org/jira/browse/KAFKA-4411
> Project: Kafka
> Issue Type: Bug
> Components: admin, config
> Affects Versions: 0.9.0.1
> Environment: Red Hat Enterprise Linux Server release 7.0
> Java 1.8.0_66-b17
> Kafka 0.9.0.1
> Reporter: Mohammed amine GARMES
> Priority: Critical
> Labels: security
> Original Estimate: 12h
> Remaining Estimate: 12h
>
> I have 2 kafka servers configured to start with kafka security, I try to start the akfka servers with the JASS below ==>
> server 1
> KafkaServer {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafka.keytab"
> principal="kafka/kafka1.test.net@TEST.NET";
> };
> // ZooKeeper client authentication
> Client {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafka.keytab"
> principal="kafka/kafka1.test.net@TEST.NET";
> };
> server 2 :
> KafkaServer {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafka.keytab"
> principal="kafka/kafka2.test.net@TEST.NET";
> };
> // ZooKeeper client authentication
> Client {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafka.keytab"
> principal="kafka/kafka2.test.net@TEST.NET";
> };
> the problem:
> when I start the kafka server 1 all is fine, but when I try to start the second server I have an issue because it haven't the access to the zookeeper node (/brokers) for kafka. the all zookeeper path /brokers is blocked by the first server, so the second server haven't the right access to write in this path .
> The ACL of /brokers is the fqdn of the first server, normally should be open for all and close ACL of the path /broker/ids/1, in this case the second server can write in /brokers and close the /brokers/ids/2 for him.
> I founded a solution but I am not sure that the right solution, I create a new kakfa-kerberos user, so for all server I use the same user :
> Server1
> KafkaServer {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafka.keytab"
> principal="kafka/kafka1.test.net@TEST.NET";
> };
> // ZooKeeper client authentication
> Client {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafkaZk.keytab"
> principal="kafka/kafkaZk.test.net@TEST.NET";
> };
> ________________________________________
> Server2
> KafkaServer {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafka.keytab"
> principal="kafka/kafka2.test.net@TEST.NET";
> };
> // ZooKeeper client authentication
> Client {
> com.sun.security.auth.module.Krb5LoginModule required
> useKeyTab=true
> storeKey=true
> keyTab="/opt/kafka/config/kafkaZk.keytab"
> principal="kafka/kafkaZk.test.net@TEST.NET";
> };
> Can help me or clarify to me how I can use Kafka security correctly ?!!
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)