




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Hadoop安全背景共享集群
按照業(yè)務(wù)或應(yīng)用的規(guī)則劃分資源隊列,并分配給特定用戶HDFS上存放各種數(shù)據(jù),包括公共的、機密的重要概念安全認(rèn)證:確保某個用戶是自己聲稱的那個用戶安全授權(quán):確保某個用戶只能做他允許的那些操作User:Hadoop用戶,可以提交作業(yè),查看自己作業(yè)狀態(tài),查看HDFS上的文件Service:Hadoop中的服務(wù)組件,包括:namenode,resourcemanager,datanode,nodemanagerHadoop1.0安全問題
UsertoServiceNamenode或者jobtracker缺乏安全認(rèn)證機制DataNode缺乏安全授權(quán)機制JobTracker缺乏安全授權(quán)機制
Servicetoservice安全認(rèn)證
Datanode與TaskTracker缺乏安全授權(quán)機制,這使得用戶可以隨意啟動假的datanode和tasktracker磁盤或者通信連接沒有經(jīng)過加密Hadoop安全機制
ApacheHadoop1.0.0版本和ClouderaCDH3之后的版本添加了安全機制
Hadoop提供了兩種安全機制:Simple和KerberosSimple
采用SAAS協(xié)議,默認(rèn)機制
配置簡單、使用簡單、適合單一團隊使用
kerberos
Kerberos可以將認(rèn)證的密鑰在集群部署時事先放到可靠的節(jié)點上。只有被認(rèn)證過節(jié)點才能正常使用
配置稍復(fù)雜、使用稍麻煩、安全性高Kerberos解決的Hadoop認(rèn)證問題
kerberos實現(xiàn)的是機器級別的安全認(rèn)證,也就是服務(wù)到服務(wù)的認(rèn)證
解決服務(wù)器到服務(wù)器的認(rèn)證防止了用戶偽裝成Datanode,Tasktracker,去接受JobTracker,Namenode的任務(wù)指派解決client到服務(wù)器的認(rèn)證
Kerberos對可信任的客戶端提供認(rèn)證,確保他們可以執(zhí)行作業(yè)的相關(guān)操作對用戶級別上的認(rèn)證并沒有實現(xiàn)無法控制用戶提交作業(yè)的操作Kerberos基本概念Principal(安全個體):被認(rèn)證的個體,有一個名字和口令KDC(keydistributioncenter):是一個網(wǎng)絡(luò)服務(wù),提供ticket和臨時會話密鑰Ticket:一個票據(jù),客戶用它來向服務(wù)器證明自己的身份,包括客戶標(biāo)識、會話密鑰、時間戳。AS(AuthenticationServer):認(rèn)證服務(wù)器TGS(TicketGrantingServer):許可證服務(wù)器TGT:Ticket-grantingTicketKerberos協(xié)議
分兩部分
Client從KDC獲取TGTClient利用獲取的TGT向KDC請求其他Service的TicketKerberos認(rèn)證過程
認(rèn)證過程也是SessionKey安全發(fā)布的過程Kerberos認(rèn)證授權(quán)過程kerberos在Hadoop上的應(yīng)用kerberos在Hadoop上的應(yīng)用使用kerberos進(jìn)行驗證的原因
可靠Hadoop本身并沒有認(rèn)證功能和創(chuàng)建用戶組功能,使用依靠外圍的認(rèn)證系統(tǒng)
高效Kerberos使用對稱鑰匙操作,比SSL的公共密鑰快操作簡單Kerberos依賴于第三方的統(tǒng)一管理中心--KDC,管理員對用戶的操作直接作用在KDC上Hadoop1.0安全機制的具體實現(xiàn)
在1.0.0之后的版本中,Hadoop在RPC、HDFS和MapReduce等方面引入了安全機制RPCHadoopRPC安全機制包括基于Kerberos和令牌的身份認(rèn)證機制和基于ACL的服務(wù)訪問控制機制
HDFS
客戶端與HDFS之間的通信連接由兩部分組成,它們均采用了Kerberos與令牌相結(jié)合的方法進(jìn)行身份認(rèn)證
MapReduceMapReduce權(quán)限管理和身份認(rèn)證涉及作業(yè)提交、作業(yè)控制、任務(wù)啟動、任務(wù)運行和Shuffle等階段上層服務(wù)
很多上層服務(wù)充當(dāng)Hadoop服務(wù)的請求代理,比如Oozie、Hive等RPC安全--身份認(rèn)證機制Hadoop中所有RPC連接均采用了SASLHadoop另外將Kerberos和DIGEST-MD5兩種認(rèn)證機制添加到SASL中實現(xiàn)安全認(rèn)證
基于共享密鑰生成的安全認(rèn)證憑證稱為令牌(Token),Hadoop中共有三種令牌
授權(quán)令牌(DelegationToken)
授權(quán)令牌主要用于NameNode為客戶端進(jìn)行認(rèn)證數(shù)據(jù)塊訪問令牌(BlockAccessToken)
數(shù)據(jù)塊訪問令牌主要用于DataNode、SecondaryNameNode和Balancer為客戶端存取數(shù)據(jù)塊進(jìn)行認(rèn)證作業(yè)令牌(JobToken)
作業(yè)令牌主要用于TaskTracker對任務(wù)進(jìn)行認(rèn)證基于令牌的安全認(rèn)證機制的優(yōu)勢
性能好
憑證更新Kerberos的票據(jù)過期后需要更新,比較繁瑣
令牌方式只需要延長有效期
安全性泄露TGT造成的危害遠(yuǎn)比泄露令牌大
靈活性令牌與Kerberos之間沒有任何依賴關(guān)系RPC安全—服務(wù)訪問控制機制Hadoop提供的最原始的授權(quán)機制
服務(wù)訪問控制是通過控制各個服務(wù)之間的通信協(xié)議實現(xiàn)的,它通常發(fā)生在其他訪問控制機制之前
啟動功能
在core-site.xml中將參數(shù)hadoop.security.authorization置為true在hadoop-policy.xml中為各個通信協(xié)議指定具有訪問權(quán)限的用戶或者用戶組
具有訪問權(quán)限的用戶或者用戶組稱為訪問控制列表(AccessControlList,ACL)訪問控制協(xié)議(Hadoop1.0)訪問控制協(xié)議(Hadoop2.0)HDFS安全策略采用Kerberos與令牌相結(jié)合的方法進(jìn)行身份認(rèn)證
客戶端與HDFS之間的通信連接由兩部分組成
客戶端向NameNode發(fā)起的RPC連接客戶端向DataNode發(fā)起的Block傳輸連接
授權(quán)令牌(DelegationToken)認(rèn)證過程Client通過了Kerberos認(rèn)證Client通過Namenode認(rèn)證,獲取授權(quán)令牌Client告訴NameNode誰是令牌的重新申請者
所有的令牌重新申請者是JobTracker,負(fù)責(zé)更新令牌直至作業(yè)運行完成
數(shù)據(jù)塊訪問令牌(DataBlockAccessToken)認(rèn)證
數(shù)據(jù)塊訪問令牌由NameNode生成,并在DataNode端進(jìn)行合法性驗證MapReduce安全策略
MapReduce權(quán)限管理和身份認(rèn)證涉及作業(yè)提交、作業(yè)控制、任務(wù)啟動、任務(wù)運行和Shuffle等階段
作業(yè)提交
用戶提交作業(yè)后,JobClient需與NameNode和JobTracker等服務(wù)進(jìn)行通信,以進(jìn)行身份認(rèn)證和獲取相關(guān)令牌
作業(yè)控制
可以通過參數(shù)控制哪些用戶或者用戶組可以提交或者取消作業(yè),如mapreduce.job.acl-view-job和mapreduce.job.acl-modify-job
任務(wù)啟動TaskTracker收到JobTracker分配的任務(wù)后,如果該任務(wù)來自某個作業(yè)的第一個任務(wù),則會進(jìn)行作業(yè)本地化MapReduce安全策略作業(yè)運行Hadoop以實際提交作業(yè)的那個用戶身份運行相應(yīng)的任務(wù)
用C程序?qū)崿F(xiàn)了一個setuid程序以修改每個任務(wù)所在JVM的有效用戶ID
ShuffleHadoop在ReduceTask與TaskTracker之間的通信機制上添加了雙向認(rèn)證機制,以保證有且僅有同作業(yè)的ReduceTask才能夠讀取MapTask的中間結(jié)果
WebUIKerberos中已經(jīng)自帶了Web瀏覽器訪問認(rèn)證機制上層服務(wù)
Hadoop引入了“超級用戶”的概念,這些用戶可以以其他人的身份訪問Hadoop的各個服務(wù)超級用戶需能夠經(jīng)過Kerberos認(rèn)證當(dāng)超級用戶希望與Hadoop的某個服務(wù)建立RPC連接時,首先需要使用doAs方法設(shè)置該連接
比如,讓超級用戶oozie安全地偽裝成普通用戶dylan,需使用oozie的Kerberos憑證登陸系統(tǒng)并為dylan創(chuàng)建一個代理ugi上層服務(wù)
另外,在配置文件中指定超級用戶oozie可偽裝成的所有用戶,同時限制oozie所在的IPHadoop1.0安全機制的應(yīng)用場景
創(chuàng)建安全用戶,比如hdfs和mapreduce,并為其添加Kerberos認(rèn)證
用不同的用戶安全地啟動HDFS服務(wù)和MapReduce服務(wù)
一個安全的Hadoop集群,需要在各種應(yīng)用場景中涉及安全認(rèn)證過程
文件存取
作業(yè)提交與運行
上層中間件訪問Hadoop文件存取
在NameNode和DataNode節(jié)點上為用戶hdfs添加Kerberos認(rèn)證
一個應(yīng)用程序從HDFS上存取文件涉及的安全認(rèn)證作業(yè)提交與運行在JobTracker和TaskTracker節(jié)點上為用戶mapreduce添加Kerberos認(rèn)證
一個應(yīng)用程序從作業(yè)提交到運行涉及的安全認(rèn)證上層中間件訪問HadoopHadoop有很多上層中間件,比如Oozie、Hive等。它們通常采用“偽裝成其他用戶”的方式訪問HadoopHadoop2.0安全機制的實現(xiàn)
系統(tǒng)安全機制由認(rèn)證(authentication)和授權(quán)(authorization)兩大部分構(gòu)成同Hadoop1.0一樣,Hadoop2.0中的認(rèn)證機制采用Kerbero和Token兩種方案授權(quán)則是通過引入訪問控制列表(AccessControlList,ACL)實現(xiàn)的Hadoop2.0認(rèn)證機制Client與NameNode和Client與ResourceManager之間初次通信均采用了Kerberos進(jìn)行身份認(rèn)證,之后便換用DelegationToken以較小開銷DataNode與NameNode和NodeManager與ResourceManager之間的認(rèn)證始終采用Kerberos機制
通過將參數(shù)hadoop.security.authentication設(shè)為“kerberos”來啟動KerberosHadoop2.0認(rèn)證機制YARN中的各類Token及其作用ResourceManagerDelegationTokenResourceManager授權(quán)令牌
持有該令牌的應(yīng)用程序及其發(fā)起的任務(wù)可以安全地與ResourceManager交互YARNApplicationToken
用于保證ApplicationMaster與ResourceManager之間的通信安全
由ResourceManager傳遞給NodeManager
該Token的生命周期與ApplicationMaster實例一致YARNNodeManagerToken
用于保證ApplicationMaster與NodeManager之間的通信安全ResourceManager發(fā)送給ApplicationMasterNodeManager向ResourceManager注冊和心跳時領(lǐng)取YARNLocalizerTokenYARN中的各類Token及其作用YARNContainerTokenApplicationMaster與NodeManager通信啟動Container時需要出示ResourceManager發(fā)送給ApplicationMasterNodeManager向ResourceManager注冊和心跳時領(lǐng)取MapReduceClientToken
用于保證MRJobClient與MRApplicationMaster之間的通信安全ResourceManager在作業(yè)提交時創(chuàng)建并發(fā)送給JobClientMapReduceJobToken
用于保證MapReduce的各個Task與MRApplicationMaster之間的通信安全
由ApplicationMaster創(chuàng)建并傳遞給NodeManagerMapRed
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)加密技術(shù)演進(jìn)-洞察闡釋
- 基于機器學(xué)習(xí)的金融穩(wěn)定預(yù)測模型研究-洞察闡釋
- 耐火土石多介質(zhì)污染修復(fù)技術(shù)及應(yīng)用研究-洞察闡釋
- 小樹苗的成長日記:一片寫物的作文8篇
- 社交技能與社交焦慮的關(guān)系研究-洞察闡釋
- 鐵路維修養(yǎng)護資源配置計劃
- 網(wǎng)絡(luò)教育平臺德育主任崗位職責(zé)
- 深度學(xué)習(xí)優(yōu)化的匯編碼分析工具研究-洞察闡釋
- 電力能源行業(yè)員工工作證明(5篇)
- 審計師信息技術(shù)應(yīng)用-洞察闡釋
- 沙盤游戲治療(課堂PPT)
- 項目驗收單簡潔模板
- 托物言志作文寫作指導(dǎo)
- Q∕SHCG 67-2013 采油用清防蠟劑技術(shù)要求
- 榆林智能礦山項目招商引資方案【參考范文】
- 碘對比劑過敏性休克應(yīng)急搶救演練記錄
- 餐飲商鋪工程條件一覽表
- 液壓的爬模檢查記錄簿表
- 申請支付工程款的函
- 出國簽證戶口本翻譯模板(共4頁)
- 算法設(shè)計與分析課程大作業(yè)
評論
0/150
提交評論