kafka認(rèn)證方式
kafka具有三種大類認(rèn)證方式,SSL、SASL、Delegation Token三種認(rèn)證。其中SSL是證書(shū)驗(yàn)證,于SSL的認(rèn)證主要是指Broker和客戶端的雙路認(rèn)證,Broker和客戶端互相認(rèn)對(duì)方的證書(shū)。SASL是主要使用的幾種方式。以下是對(duì)于幾種方式的詳細(xì)介紹。
認(rèn)證方式介紹
SASL/GSSAPI:kerberos認(rèn)證方式,一般使用隨機(jī)密碼的keytab認(rèn)證方式,密碼是加密的,也是企業(yè)里使用最多的認(rèn)證方式;
SASL/PLAIN:這種方式其實(shí)就是一個(gè)賬號(hào)/密碼的認(rèn)證方式,不過(guò)它有很多缺陷,比如用戶名密碼是存儲(chǔ)在文件中,不能動(dòng)態(tài)添加,密碼明文等等!好處是足夠簡(jiǎn)單;
SASL/SCRAM:針對(duì)SASL/PLAIN方式的不足而提供的另一種認(rèn)證方式。這種方式的用戶名/密碼是存儲(chǔ)中zookeeper的,因此能夠支持動(dòng)態(tài)添加用戶。該種認(rèn)證方式還會(huì)使用sha256或sha512對(duì)密碼加密,安全性相對(duì)會(huì)高一些,在0.10.2版本引入;
SASL/OAUTHBEARER:是基于OAuth 2.0的認(rèn)證框架,實(shí)現(xiàn)較為復(fù)雜,目前業(yè)內(nèi)應(yīng)該較少使用。
注:主要是server_jass文件和client_jaas文件配置內(nèi)容的不一樣。
SSL方式的jaas文件配置
server端:

SASL/GSSAPI(kerberos方式)
Jaas文件:
SASL/PLAIN方式(賬號(hào)密碼方式,明文)
server端:

SASL/SCRAM方式

代碼連接方式
kereros(GSSAPI)
添加參數(shù):
SASL/ PLAIN

Delegation Token
基于Delegation Token的認(rèn)證是一種輕量級(jí)的認(rèn)證機(jī)制,使用Delegation Token Broker和客戶端在作認(rèn)證的時(shí)候,能夠直接使用這個(gè)token,不是每次都去KDC獲取對(duì)應(yīng)的ticket或傳輸Keystore文件,是對(duì)SASL認(rèn)證機(jī)制的補(bǔ)充。