一、背景
云HDFS(Cloud HDFS,CHDFS)是騰訊云提供的支持標(biāo)準(zhǔn)HDFS訪問協(xié)議、卓越性能、分層命名空間的分布式文件系統(tǒng)。
CHDFS主要解決大數(shù)據(jù)場景下海量數(shù)據(jù)存儲和數(shù)據(jù)分析,能夠為大數(shù)據(jù)用戶在無需更改現(xiàn)有代碼的基礎(chǔ)上,將本地自建的HDFS文件系統(tǒng)無縫遷移至具備高可用性、高擴展性、低成本、可靠和安全的CHDFS上。以此實現(xiàn)存算分離,實現(xiàn)計算節(jié)點可動態(tài)的擴縮容。
因此CHDFS主要的用戶群體是大數(shù)據(jù)體系的研發(fā)人員,為了滿足用戶在傳統(tǒng)的Hadoop環(huán)境下的使用習(xí)慣,同時滿足用戶的權(quán)限需求,CHDFS通過以下措施,提供了安全便捷的大數(shù)據(jù)訪問體驗。
二、來源管控
存算分離帶來了存儲的云端托管,使計算節(jié)點不再依賴本地的存儲,但同時也帶來了存儲時延的增加,因此存算分離更適合于同地域同機房的訪問。CHDFS在設(shè)計之初,就假定用戶的大數(shù)據(jù)集群運行在騰訊云的VPC網(wǎng)絡(luò)(包括CVM和黑石)。
因此用戶只用通過以下三步,即可限制來源:
1、新建權(quán)限組,并在權(quán)限組中指定VPC(必須本賬戶下的VPC)。
2、在權(quán)限組里面添加規(guī)則,授予VPC網(wǎng)段里的某一個子網(wǎng)段的只讀或者讀寫權(quán)限。同一個權(quán)限組中的多條規(guī)則,根據(jù)優(yōu)先級來確定權(quán)限。
3、在文件系統(tǒng)的掛載點中綁定權(quán)限組,一個文件系統(tǒng)可以綁定多個權(quán)限組,請求滿足任何一個權(quán)限組的規(guī)則,即獲得相應(yīng)的訪問權(quán)限。
三、POSIX權(quán)限與超級用戶
CHDFS兼容HDFS的POSIX的權(quán)限規(guī)則,該權(quán)限規(guī)則和Linux文件系統(tǒng)的的規(guī)則類似。即每一層的目錄和文件都有User,Group與Other權(quán)限(rwx)。整個權(quán)限規(guī)則可簡述如下:
1、用戶執(zhí)行Hadoop命令行或者運行某個大數(shù)據(jù)JOB
2、Job運行中需要訪問CHDFS的某個路徑,即以執(zhí)行進程的用戶身份與組身份訪問CHDFS的某個路徑。
3、CHDFS從根據(jù)訪問的路徑,從根目錄開始,層層檢查。如果用戶名匹配文件或者目錄的用戶名,則擁有文件和目錄的User權(quán)限,如果用戶組名匹配,則擁有Group權(quán)限,否則只擁有Other權(quán)限。
4、對于目錄要進入下一層,必須擁有X權(quán)限,對于目錄下創(chuàng)建刪除文件必須擁有W權(quán)限,對于列出目錄下的文件,必須有R權(quán)限。
5、對于讀取文件,必須要有R權(quán)限,對于修改文件必須有W權(quán)限。
對于普通用戶,使用以上的權(quán)限規(guī)則進行校驗,但同時CHDFS也支持了超級用戶,超級用戶擁有對文件目錄的一切操作權(quán)限,適用于配置管理員。
POSIX的權(quán)限開關(guān)與超級用戶的設(shè)置,可以在新建文件系統(tǒng)時,或者在后續(xù)在文件系統(tǒng)屬性下編輯。
四、接入Hadoop Ranger權(quán)限體系
Hadoop Ranger作為一站式的權(quán)限體系解決方案,不僅支持存儲端權(quán)限管控,還支持YARN,Hive等組件權(quán)限管控。因此,為了維持客戶的使用習(xí)慣,我們提供了CHDFS的Ranger接入解決方案,方便客戶使用Ranger來進行CHDFS的權(quán)限管控。CHDFS接入Ranger權(quán)限體系的架構(gòu)如下所示
我們在Ranger Admin控制中心,注冊CHDFS服務(wù)的相關(guān)信息,并配置CHDFS的服務(wù)后,即可配置CHDFS的相關(guān)權(quán)限policy,如下所示。
CHDFS插件端開啟進行ranger鑒權(quán)后,即會把所有訪問CHDFS的請求轉(zhuǎn)發(fā)給COS Ranger Service進行鑒權(quán),COS Ranger Service根據(jù)從Ranger Admin拉取policy,進行權(quán)限檢查。有關(guān)CHDFS接入Ranger權(quán)限的配置說明,請參考CHDFS控制臺文檔。
五、總結(jié)
CHDFS作為云端托管的大數(shù)據(jù)存儲,從設(shè)計之初,就充分考慮了HDFS用戶的使用習(xí)慣。通過提供限制來源VPC、IP網(wǎng)段、POSIX鑒權(quán)、超級用戶等特性,并支持接入Hadoop Ranger權(quán)限體系。方便客戶的同時,也充分的保證了安全性與靈活性。