kafka認證方式
kafka具有三種大類認證方式幸逆,SSL棍辕、SASL暮现、Delegation Token三種認證。其中SSL是證書驗證楚昭,于SSL的認證主要是指Broker和客戶端的雙路認證栖袋,Broker和客戶端互相認對方的證書。SASL是主要使用的幾種方式抚太。以下是對于幾種方式的詳細介紹塘幅。
認證方式介紹
SASL/GSSAPI:kerberos認證方式,一般使用隨機密碼的keytab認證方式凭舶,密碼是加密的晌块,也是企業(yè)里使用最多的認證方式;
SASL/PLAIN:這種方式其實就是一個賬號/密碼的認證方式帅霜,不過它有很多缺陷匆背,比如用戶名密碼是存儲在文件中,不能動態(tài)添加身冀,密碼明文等等钝尸!好處是足夠簡單;
SASL/SCRAM:針對SASL/PLAIN方式的不足而提供的另一種認證方式搂根。這種方式的用戶名/密碼是存儲中zookeeper的珍促,因此能夠支持動態(tài)添加用戶。該種認證方式還會使用sha256或sha512對密碼加密剩愧,安全性相對會高一些猪叙,在0.10.2版本引入;
SASL/OAUTHBEARER:是基于OAuth 2.0的認證框架仁卷,實現(xiàn)較為復(fù)雜穴翩,目前業(yè)內(nèi)應(yīng)該較少使用。
注:主要是server_jass文件和client_jaas文件配置內(nèi)容的不一樣锦积。
SSL方式的jaas文件配置
server端:image
image
SASL/GSSAPI(kerberos方式)
Jaas文件:image
SASL/PLAIN方式(賬號密碼方式芒帕,明文)
server端:image
image
SASL/SCRAM方式
image
代碼連接方式
kereros(GSSAPI)
添加參數(shù):image
SASL/ PLAIN
image
Delegation Token
基于Delegation Token的認證是一種輕量級的認證機制,使用Delegation Token Broker和客戶端在作認證的時候丰介,能夠直接使用這個token背蟆,不是每次都去KDC獲取對應(yīng)的ticket或傳輸Keystore文件,是對SASL認證機制的補充哮幢。