背景
公司需要對kafka環境進行安全驗證,目前考慮到的方案有Kerberos和SSL和SASL_SSL,最終考慮到安全和功能的豐富度,我們最終選擇了SASL_SSL方案。處于知識積累的角度,記錄一下kafka SASL_SSL安裝部署的步驟。
機器規劃
目前測試環境公搭建了三臺kafka主機服務,現在將詳細闡述部署這三個物理主機的kerberos認證的過程。
創建jaas認證文件
在所有的kafka節點上/export/server/kafka_sasl_ssl_jaas.conf創建該文件
KafkaServer {org.apache.kafka.common.security.scram.ScramLoginModule requiredusername="admin"password="admin";
};
注意,這里僅僅開啟了kafka的認證,zookeeper并沒有開啟認證
修改所有節點的kafka-runner-class.sh文件,在# Launch mode參數后面追加
$KAFKA_SASL_OPTS
配置
- 默認配置
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; thennohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
elseexec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"