安全訪問(wèn)HDFS和ZooKeeper

2018-04-24 11:24 更新

安全訪問(wèn)HDFS和ZooKeeper

HBase需要安全的ZooKeeper和HDFS,以便用戶(hù)無(wú)法訪問(wèn)或修改HBase下的元數(shù)據(jù)和數(shù)據(jù)。HBase使用HDFS(或配置的文件系統(tǒng))來(lái)保留其數(shù)據(jù)文件以及預(yù)寫(xiě)日志(WAL)和其他數(shù)據(jù)。HBase使用ZooKeeper來(lái)存儲(chǔ)操作的一些元數(shù)據(jù)(主地址(master address),表鎖(table locks),恢復(fù)狀態(tài)(recovery state)等)。

保護(hù)ZooKeeper數(shù)據(jù)

ZooKeeper具有可插入的身份驗(yàn)證機(jī)制,可以使用不同的方法訪問(wèn)客戶(hù)端。ZooKeeper甚至允許同時(shí)允許經(jīng)過(guò)身份驗(yàn)證和未經(jīng)身份驗(yàn)證的客戶(hù)端。通過(guò)為每個(gè)znode提供訪問(wèn)控制列表(ACL)來(lái)限制對(duì)znodes的訪問(wèn)。ACL包含兩個(gè)組件,即身份驗(yàn)證方法和主體。ACL不是分層強(qiáng)制執(zhí)行的。

HBase守護(hù)程序通過(guò)SASL和Kerberos向ZooKeeper進(jìn)行身份驗(yàn)證(請(qǐng)參閱使用ZooKeeper進(jìn)行SASL身份驗(yàn)證)。HBase設(shè)置znode ACL,以便只有HBase用戶(hù)和配置的hbase超級(jí)用戶(hù)(hbase.superuser)可以訪問(wèn)和修改數(shù)據(jù)。在ZooKeeper用于服務(wù)發(fā)現(xiàn)或與客戶(hù)端共享狀態(tài)的情況下,由HBase創(chuàng)建的znodes也將允許任何人(不管身份驗(yàn)證)讀取這些znode(clusterId,主地址,元位置等),但只有HBase用戶(hù)可以修改它們。

保護(hù)文件系統(tǒng)(HDFS)數(shù)據(jù)

所有管理的數(shù)據(jù)都保存在文件系統(tǒng)(hbase.rootdir)的根目錄下。訪問(wèn)文件系統(tǒng)中的數(shù)據(jù)和WAL文件應(yīng)受到限制,以便用戶(hù)不能繞過(guò)HBase層,并從文件系統(tǒng)中查看底層數(shù)據(jù)文件。HBase假定使用的文件系統(tǒng)(HDFS或其他)分層次地強(qiáng)制執(zhí)行權(quán)限。如果沒(méi)有提供足夠的文件系統(tǒng)保護(hù)(授權(quán)和身份驗(yàn)證),HBase級(jí)別授權(quán)控制(ACL,可見(jiàn)性標(biāo)簽等)就沒(méi)有意義,因?yàn)橛脩?hù)可以隨時(shí)訪問(wèn)文件系統(tǒng)中的數(shù)據(jù)。

HBase對(duì)其根目錄執(zhí)行posix-like權(quán)限700(rwx------)。這意味著只有HBase用戶(hù)可以讀寫(xiě)FS中的文件??梢酝ㄟ^(guò)在hbase-site.xml中進(jìn)行配置hbase.rootdir.perms來(lái)更改默認(rèn)設(shè)置。需要重新啟動(dòng)活動(dòng)主服務(wù)器,以便更改使用的權(quán)限。對(duì)于1.2.0之前的版本,您可以檢查是否提交了HBASE-13780,如果沒(méi)有,您可以根據(jù)需要手動(dòng)設(shè)置根目錄的權(quán)限。使用HDFS,該命令將是:

sudo -u hdfs hadoop fs -chmod 700 /hbase

如果你使用不同的hbase.rootdir,你應(yīng)該改變/hbase。

在安全模式下,應(yīng)配置SecureBulkLoadEndpoint并將其用于正確地將從MR作業(yè)創(chuàng)建的用戶(hù)文件移交給HBase守護(hù)程序和HBase用戶(hù)。用于批量加載(hbase.bulkload.staging.dir默認(rèn)為/tmp/hbase-staging)的分布式文件系統(tǒng)中的狀態(tài)目錄應(yīng)具有(模式711或rwx—?x—?x),以便用戶(hù)可以訪問(wèn)在該父目錄下創(chuàng)建的狀態(tài)目錄,但無(wú)法執(zhí)行任何其他操作。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)