教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Kerberos是什么?Kerberos怎樣做身份認(rèn)證?

更新時(shí)間:2021年09月03日14時(shí)27分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

在大數(shù)據(jù)領(lǐng)域,安全永遠(yuǎn)是一個(gè)繞不開(kāi)的話題。
對(duì)于一個(gè)簡(jiǎn)單安裝上線的 hadoop 集群,我們可以認(rèn)為有如下安全隱患: 如,可以人為的添加一個(gè)客戶端節(jié)點(diǎn),并以此假冒的客戶端來(lái)獲取集群數(shù)據(jù)。對(duì)于一個(gè)假冒的客戶端節(jié)點(diǎn),成功加入集群就能夠偽裝datanode 讓得到 namenode 指派的任務(wù)和數(shù)據(jù)。創(chuàng)建一個(gè)HDFS賬戶, 就可以得到 hadoop 文件系統(tǒng)的最高權(quán)限。 Kerberos 主要用來(lái)做網(wǎng)絡(luò)通訊中的身份認(rèn)證,幫助我們高效、安全的識(shí)別訪問(wèn)者。 那么 Kerberos 是如何做身份認(rèn)證的呢? 我們來(lái)看一個(gè)現(xiàn)實(shí)中的例子:

小明要去電影院觀看一場(chǎng)電影
那么對(duì)于這樣一個(gè)流程來(lái)說(shuō)就有:
1. 前期需求,確定了自己想要看什么電影,位于哪個(gè)影院,什么時(shí)間后使用自己的賬戶密碼 登錄票務(wù)中心
2. 購(gòu)票機(jī)制,通過(guò)付費(fèi)(發(fā)送請(qǐng)求)來(lái)讓小明從未授權(quán)的影院訪問(wèn)者變成被授權(quán)訪問(wèn)的狀態(tài)
3. 驗(yàn)票機(jī)制,驗(yàn)證票據(jù)持有者的身份,和票務(wù)中心核對(duì)驗(yàn)證票據(jù)的合法性、時(shí)間、以及訪問(wèn) 的位置
4. 觀看電影,一切驗(yàn)證通過(guò)后得到想要的內(nèi)容。
5. 再次觀看,需要重新購(gòu)票走流程
 
那么對(duì)于這樣一個(gè)例子,相信大家應(yīng)該都很好理解。
Kerberos的認(rèn)證流程基本上和上述的例子差不多,我們來(lái)對(duì)上述例子進(jìn)行一個(gè)轉(zhuǎn)換一一對(duì)應(yīng):
1. 發(fā)送請(qǐng)求,表明要訪問(wèn)什么服務(wù),使用自己的密碼來(lái)對(duì)請(qǐng)求進(jìn)行加密
2. 驗(yàn)證身份后,得到一個(gè)ticket(票據(jù))
3. 服務(wù)提供者和Kerberos進(jìn)行通訊驗(yàn)證ticket的合法性、有效期
4. 驗(yàn)證通過(guò)提供服務(wù)
5. 超出ticket的有效期后再次訪問(wèn)需要重新申請(qǐng)
基于這樣一個(gè)轉(zhuǎn)換,我們可以得到一個(gè)關(guān)鍵信息: Kerberos 的身份認(rèn)證其實(shí)是基于 ticket 來(lái)完成 的,就像看電影是基于電影票來(lái)進(jìn)行驗(yàn)證的一樣。
那么我們客戶端,想要訪問(wèn)某些服務(wù),最主要的是得到一張 ticket,理解了上述的概念之后,來(lái)看一下具體的 Kerberos 的執(zhí)行流程:
Kerberos怎樣做身份認(rèn)證

在如上的流程里有如下關(guān)鍵字:
1. KDC (秘鑰分發(fā)中心), KDC (也就是 Kerberos Server )提供提供 AS 和 TGS 兩個(gè)服 務(wù)
2. AS: authorization server , 授權(quán)服務(wù),對(duì)于上面流程1,提供初始授權(quán)認(rèn)證,用戶表明 需求并使用密碼對(duì)請(qǐng)求進(jìn)行加密,AS用提供的密碼對(duì)請(qǐng)求進(jìn)行解密后得到請(qǐng)求內(nèi)容,返回給 用戶一個(gè)TGT(ticket granting tickets)(用一個(gè)秘鑰加密) 2. 用戶得到TGT后使用TGT去訪問(wèn)TGS( Ticket Granting Server ),TGS驗(yàn)證TGT后(使用秘鑰 解密)返回一個(gè)Ticket給用戶。

3. 用戶(圖中John),得到ticket后去訪問(wèn)server,server收到ticket和KDC進(jìn)行驗(yàn)證,通過(guò)后提供服務(wù)如上是一個(gè)典型的Kerberos運(yùn)行流程,對(duì)于 hadoop 的授權(quán)認(rèn)證來(lái)說(shuō),就是把server換為具體的服務(wù),如 namenode resourcemanager 等
想要訪問(wèn) namenode (也就是 hdfs )需要拿到對(duì)應(yīng) hdfs 的 ticket 才可以訪問(wèn)。






猜你喜歡:

CDH安裝與部署,大數(shù)據(jù)CDH平臺(tái)搭建教程

Hadoop集群教程:Hadoop經(jīng)典單詞統(tǒng)計(jì)案例

Jupyter Notebook功能和操作界面介紹

傳智教育Python大數(shù)據(jù)開(kāi)發(fā)培訓(xùn)

0 分享到:
和我們?cè)诰€交談!