Kafka Kerberos服務端配置


正是因為Kafka推出了Kerberos認證,才表示Kafka真正的由實驗階段變為了實際的生產環境(速度很慢),但是對於SSL的認證處理是非常復雜的,所以在實際的開發中,更多的開發者會選擇利用Kerberos這種認證機制,同時結合jaas配置文件進行更加有效的安全認證處理。

Kerberos認證需要考慮如下幾個層次:
a、zookeeper的訪問安全:kafka_zookeeper_jaas.conf
b、KafkaServer的訪問安全:kafka_server_jaas.conf
c、客戶端命令和Java:kafka_client_jaas.conf

這樣配置完成之后可以保證你的zookeeper足夠安全,你的kafkaserver足夠安全,同時千萬要記住,在zookeeper和kafkaserver之間進行互相配置的時候,必須有一個相同的用戶名和密碼。

kerberos認證

1、為了方便進行所有kerberos認證文件的管理建立一個目錄:

mkdir -p /usr/local/kafka/jaas


2、建立ZooKeeper的JAAS配置文件:vim /usr/local/kafka/jaas/kafka_zookeeper_jaas.conf

Server { org.apache.kafka.common.security.plain.PlainLoginModule required username="zkadmin" password="zkadmin-pwd"; };


在此處配置了一個新的用戶:zkadmin/zkadmin-pwd。

3、 建立一個kafkaServer的JAAS配置:

vim /usr/local/kafka/jaas/kafka_server_jaas.conf
KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required username="zkadmin" password="zkadmin-pwd" user_zkadmin="zkadmin-pwd" user_alice="alice-pwd" user_bob="bob-pwd"; };

格式:user_用戶名=密碼,此時的程序配置有三個賬戶:zkadmin/zkadmin-pwd、alice/alice-pwd、bob/bob-pwd。

4、 如果要想正常去使用kerberos認證處理,必須由用戶自己去指派jaas的訪問路徑,也就是說kafka本身依賴於JDK,那么這個時候必須通過JDK中的初始化參數去定義好jaas訪問路徑之后才可以進行處理。

4.1、修改zookeeper服務啟動命令:

#vim /root/soft/zookeeper-3.4.14/bin/zookeeper-server-start.sh vim /root/soft/zookeeper-3.4.14/bin/zkServer.sh export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka/jaas/kafka_zookeeper_jaas.conf"

注:第一行追加

4.2、修改kafkaserver啟動命令:vim /root/soft/kafka_2.11-2.4.1/bin/kafka-server-start.sh

export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka/jaas/kafka_server_jaas.conf"

注:第一行追加

5、如果要想讓kafka支持jaas處理操作,那么還需要修改server.properties配置文件:
打開配置文件:vim /usr/local/kafka/config/server.properties;

編寫端口號: port=9092 編寫內部的通訊連接: listeners=SASL_PLAINTEXT://172.16.0.2:9092
 設置外部的通訊連接: advertised.listeners=SASL_PLAINTEXT://203.195.205.63:9092
 設置使用的通訊協議: security.inter.broker.protocol=SASL_PLAINTEXT 啟用SASL處理機制間的通訊: sasl.enabled.mechanisms=PLAIN 設置broker之間的傳輸機制: sasl.mechanism.inter.broker.protocol=PLAIN

6、 啟動當前的Kafka服務:

6.1、啟動zk cd /root/soft/zookeeper-3.4.14/bin ./zkServer.sh stop ./zkServer.sh start 6.2、啟動kafka cd /root/soft/kafka_2.11-2.4.1/bin ./kafka-server-stop.sh ./kafka-server-start.sh ../config/server.properties > /logs/kafka.log 2>&1 &

6.3、查看主題列表 ./kafka-topics.sh --list --zookeeper localhost:2181

 

可以查看主題,表示kerberos認證配置成功。

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM