Я пытаюсь настроить идентификацию kerberos между zookeeper и kafka.
Я выполнил следующие шаги настройки: https://docs.confluent.io/4.1.1/kafka/authentication_sasl_gssapi.html#sasl-gssapi-broker.
Брокеры kafka успешно подключились к ансамблю zookeeperи брокеры устанавливают ACL на znodes.
В Zookeeper я вижу znodes / brokers / ids, но ACL установлены следующим образом:
'world,'anyone
: r
'sasl,'kafka/kafka-broker-01.c.aesthetic-way-193809.internal@MYREALM.COM
: cdrwa
Первый брокер создает znode, помещает его ACL и делает его недоступным для изменениядля всех узлов, которые хотят добавить свои идентификаторы.
В документах говорится, что мы должны использовать один и тот же принципал для всех брокеров, но пример документации не соответствует этой рекомендации:
// ZooKeeper client authentication
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
keyTab="/etc/security/keytabs/kafka_server.keytab"
principal="kafka/kafka1.hostname.com@EXAMPLE.COM";
};
Должен ли я создать принципал, такой как kafka_zk_cli @ MYREALM.COM и использовать его клиентский раздел моего JAAS-файла на каждом брокере?Если да, могу ли я поделиться таблицей ключей для этого пользователя на каждом брокере?
Спасибо за помощь.