1. 程式人生 > >Kafka安全認證SASL下附帶工具的配置使用

Kafka安全認證SASL下附帶工具的配置使用

前兩篇部落格主要講配置Kafka SASL認證,已經說明了,配置後Kafka自帶的工具很多都不能使用。本文主要講三個常用的Kafka附帶工具的安全配置,在完成安全認證配置後,可以繼續使用這些工具。本文基於前面的。確保Kafka叢集已經配置了SASL PLAIN且能順利執行。

本文將說明以下三個kafka工具:

1、kafka-console-consumer.sh和kafka-console-producer.sh

一個簡單的消費者程式,通過給定的引數,消費某個kafka叢集的指定topic資料。在我們配置了安全認證策略後,無論Kafka消費還是生產者,都必須要指定使用者名稱密碼才可。而同上兩篇部落格一樣,我們的配置和基本的生產者、消費者程式沒什麼兩樣。

(1)編寫JAAS配置檔案

假如我們使用的Kafka使用者名稱是produce,密碼是prod-sec,則可以寫一個JAAS檔案,我命名為kafka_client_jaas.conf檔案:

KafkaClient {  
    org.apache.kafka.common.security.plain.PlainLoginModule required  
            username="producer"  
            password="prod-sec";  
};  

(2)加入環境變數

環境變數java.security.auth.login.config必須在執行kafka-console-consumer.sh之前被設定,且設定成我們的kafka_client_jaas.conf配置檔案路徑。為方便,我們可以將kafka-console-consumer.sh指令碼再包裝一下,在執行前設定這個變數。建立一個kafka-console-consumer-sasl.sh指令碼。

#!/bin/bash

ROOT=`dirname $0`
export KAFKA_OPTS=" -Djava.security.auth.login.config=$ROOT/config/kafka_client_jaas.conf "
$ROOT/bin/kafka-console-consumer.sh --new-consumer "[email protected]"
將這個指令碼放置在Kafka部署根目錄上即可。看最後一條語句,給kafka-console-consumer.sh指令碼傳入了--new-consumer選項,這是因為之前老版本的Kafka java API不支援安全策略,屬於Kafka專案中的一些坑,大概是0.9版本以前的API。我們指定這個引數後,工具將使用新的java API開啟消費者,也支援安全機制。注意,這個選項很重要。

(3)建立配置檔案

和普通的生產者、消費者程式一樣,開啟安全策略後,必須手動指定幾個配置項,視認證機制而定,我們的Kafka配置的是SASL_PLAIN,建立一個配置檔案,名為consumer.properties,放置於kafka部署目錄的conf下,若存在這個配置檔案直接修改亦可。新增如下配置項:

security.protocol = SASL_PLAINTEXT
sasl.mechanism = PLAIN

(4)嘗試執行

按上述步驟完成後,我們嘗試消費kafka叢集中的eztest主題,切換到kafka部署根目錄,示例命令如下:

./kafka-console-consumer-sasl.sh --zookeeper vubuntuez1:2181,vdebianez3:2181,vcentosez2:2181,vdebianez4:2181 \
--bootstrap-server vubuntuez1:9092,vdebianez3:9092,vcentosez2:9092 \
--topic eztest --consumer.config ./config/consumer.properties

指令碼是第二步建立的,--zookeeper和--bootstrap-server引數都需要。--topic指定為eztest,--consumer.conf這個選項必須指定,也就是指定我們在第三步建立的consumer.properties配置檔案。如此,只要topic中有資料,都可以列印到標準輸出流。

與kafka-console-consumer.sh相同,kafka-console-producer.sh也如此配置,創建出一個kafka-console-producer-sasl.sh指令碼即可。

2、kafka-consumer-groups.sh

這個工具主要用於檢視某些消費者組,消費者組詳細消費情況等。屬於一個消費者程式。我們同樣使用如上的方法配置。編寫JAAS配置檔案和consumer.properties配置檔案,同上。再嘗試寫出一個啟動指令碼,我命名為kafka-consumer-groups-sasl.sh:

#!/bin/bash

ROOT=`dirname $0`
export KAFKA_OPTS=" -Djava.security.auth.login.config=$ROOT/config/kafka_client_jaas.conf "
$ROOT/bin/kafka-consumer-groups.sh --new-consumer "[email protected]"

這裡我們也需要增加一個--new-consumer選項,非常重要。

嘗試執行如下示例命令:

./kafka-consumer-groups-sasl.sh --bootstrap-server vubuntuez1:9092,vdebianez3:9092,vcentosez2:9092 \
 --list --command-config ./config/consumer.properties
我們必須指定一個--command-config選項,值就是上面反覆提到的consumer.properties配置檔案路徑。這樣,可以檢視到當前kafka中所有的消費者組。

其他工具比如kafka-run-classes.sh有時我們會使用它啟動一些Kafka內部類,如GetOffsetShell等,但目前沒有找到這個kafka-run-classes.sh的配置檔案入口,有些內部類貌似也沒有提供這個配置檔案選項,比如GetOffsetShell。

相關推薦

Kafka安全認證SASL附帶工具配置使用

前兩篇部落格主要講配置Kafka SASL認證,已經說明了,配置後Kafka自帶的工具很多都不能使用。本文主要講三個常用的Kafka附帶工具的安全配置,在完成安全認證配置後,可以繼續使用這些工具。本文基於前面的。確保Kafka叢集已經配置了SASL PLAIN且能順利執

Kafka安全認證SASL/PLAIN,並和springBoot整合

kafka_2.11-1.1.0.tgz、zookeeper-3.4.10.tar.gz版本 1. kafka配置 kafka解壓目錄下工作 # 1.新建配置檔案 vi ./config/kafka_server_jaas.conf # 檔案內

HTTPS安全認證在Tomcat中的配置方法與圖解

這篇部落格上個月就寫了,只是當初沒有上傳操作圖片,只有一些文字,讓不少朋友看了雲裡霧裡,這次重新更新,加了自己的操作檢視,方便大家理解。本篇寫的是HTTPS在Tomcat中的配置方法;至於HTTPS安全認證的原理,大家可以上網檢視去理解;學習建議:大家可以使用面向物件的方式

Kafka JAAS Plain SASL 安全認證配置

1. 配置zookeeper 1. 為zookeeper新增 jaas 檔案 zookeeper { org.apache.kafka.common.security.plain.Pl

CentOS 7.x部署和配置zabbix 3.2.x監控工具

centos zabbix 監控一.安裝zabbix服務端1.下載官方yum源:rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm2.安裝zabbix服務端(會自動安裝http

kafka kerberos 認證訪問與非認證訪問共存的ACL問題

kerberos kafka acl 在一個正在運行的kafka集群中添加kerberos認證和ACL權限控制,同時保證以前所有的producer\consumer服務不中斷解決方式: 使kafka集群監聽兩個端口,一個為無認證連接,另一個為kerberos的認證連接這時候在配置ACL的時候出了問

Golang (Go語言) Mac OS X環境搭建 環境變量配置 開發工具配置 Sublime Text 2 【轉】

trick blog mac os https 系統 document cnblogs strong os x 一、安裝Golang的SDK   在官網 http://golang.org/ 直接下載安裝包安裝即可。下載pkg格式的最新安裝包,直接雙擊運行,一路按照提示操作

自學Aruba7.3-Aruba安全認證-802.1x認證(web頁面配置

配置 col htm 點擊 命名 頁面 com tar .html 點擊返回:自學Aruba之路 自學Aruba7.3-Aruba安全認證-802.1x認證(web頁面配置) 步驟1 建立AP Group,命名為test-group自學Aruba7.3-Aruba安全認證-

kail linux nc工具的基本使用(安全牛視頻)

效果 設計 思路 all 可靠 加密方法 了解 一個 網站 一、簡介 nc是netcat的簡寫,有著網絡界的瑞士×××美譽。因為它短小精悍、功能實用,被設計為一個簡單、可靠的網絡工具。 nc 常用的命令有兩個: 1、-v 輸出詳細的交互或者出錯信息 2、-n 如果後面是ip

生產環境nginx配置文件(帶https安全認證)

tar edi proc method fault res root ash fas #user www www; worker_processes 2; error_log logs/error.log info; pid /usr/local/ng

SAP雲解決方案和企業本地部署(On-Premise)混合架構安全認證許可權管理

SAP提供了使用者認證、許可權管理和單點登入等安全相關的解決方案。但是隨著雲平臺的興起,企業已經部署的安全解決方案如何與雲平臺的安全解決方案整合呢?這是擺在我們面前的一個問題,而且是一個至關重要、需要認真思考的問題。 本文將探討SAP提供的本地部署和雲平臺的安全解決方案產品集:SAP Single Sign

SAP雲解決方案和企業本地部署(On-Premise)混合架構安全認證權限管理

可以登錄 安全認證 風險 spa 用戶名 direct idt win 如何選擇 SAP提供了用戶認證、權限管理和單點登錄等安全相關的解決方案。但是隨著雲平臺的興起,企業已經部署的安全解決方案如何與雲平臺的安全解決方案集成呢?這是擺在我們面前的一個問題,而且是一個至關重要、

Mac系統adb工具配置方法

Mac系統下adb工具的配置方法 在閱讀郭霖老師的《第一行程式碼》的第6章節時,學習到了使用adb工具檢視sqlite資料庫,由於郭老師著重講解在windows環境下adb工具的配置,而把linux與mac系統下的配置方法放在一起給出,在嘗試失敗後,才知道linux環境與mac環境的配置

Mac系統adb工具配置

  sudo vim ~/.bash_profile 增加如下內容 ANDROID_HOME=/Users/apple/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$AN

Spring Cloud:多環境配置、註冊中心安全認證、容器宿主機IP註冊

記錄一下搭建 Spring Cloud 過程中踩過的一些坑。寫這篇隨筆時候不知道為什麼想到了看過的一個短片《斷崖》,看的時候真的感受到了女主的絕望和無助。感覺自己就像女主一樣,我在自己技術水平的坑裡努力的爬著,好的是我爬出來了,壞的是外面還有一個更大的坑!!!人生路漫漫,且爬且珍惜! Spring 版本

python+flask 配置https網站ssl安全認證

  目錄 綜述: 方法1:openssl 準備步驟 具體實施 方法2:阿里雲或者寶塔免費申請(推薦) 步驟 1.準備步驟 阿里雲 寶塔 python+flask子域名訪問設定 1.給子域名新增DNS解析 2.子域名ssl證書申請

linux程式設計工具推薦和配置-vim

工欲善其事,必先利其器 從網上找的兩個比較強大的程式碼編輯和工程開發工具,沉下心來,好好配置一下,畢竟程式碼是陪伴程式設計師一生最長久的夥伴,值得好好打理一下。 為了方便大家下載使用,我把它

網際網路高併發系統安全認證架構設計

使用的工具是Wireshark,這是一個網路封包分析軟體,用於擷取網路封包,並儘可能顯示出最為詳

kafka叢集使用 SASL/PLAIN 認證

kafka叢集使用 SASL/PLAIN 認證 SASL/PLAIN 是一種簡單的 username/password 認證機制, 通常與 TLS 加密一起使用, 用於實現安全認證. Kafka 提供了一個預設的 SASL/PLAIN 實現, 可以做擴充套件後在生產環境使用. usern

macsource tree配置外部比較工具beyond compare

前言 在用慣了windows下的gittortois後,轉到mac下的sourcetree發現版本差異對比看起來非常不方便,於是發現需要給source tree配置一個功能強大的外部比較工具,避免程式碼合併中的一些問題。 source tree配置beyon