限制協(xié)處理器的使用
在多租戶環(huán)境中,限制任意用戶協(xié)處理器可能是一個很大的問題。HBase提供了連續(xù)的選項,以確保只有預期的協(xié)處理器運行:
- hbase.coprocessor.enabled:啟用或禁用所有協(xié)處理器。這將限制HBase的功能,因為禁用所有協(xié)處理器將禁用某些安全提供程序。一個受影響的示例是org.apache.hadoop.hbase.security.access.AccessController。
- hbase.coprocessor.user.enabled:啟用或禁用在表(即用戶協(xié)處理器)上加載協(xié)處理器。
- 在hbase-site.xml中,可以通過以下可調參數(shù)靜態(tài)加載協(xié)處理器:
- hbase.coprocessor.regionserver.classes:由區(qū)域服務器加載的以逗號分隔的協(xié)處理器列表;
- hbase.coprocessor.region.classes:逗號分隔的RegionObserver和Endpoint協(xié)處理器列表;
- hbase.coprocessor.user.region.classes:由所有區(qū)域加載的以逗號分隔的協(xié)處理器列表;
- hbase.coprocessor.master.classes:由主服務器(MasterObserver協(xié)處理器)加載的以逗號分隔的協(xié)處理器列表;
- hbase.coprocessor.wal.classes:要加載的以逗號分隔的WALObserver協(xié)處理器列表;
- hbase.coprocessor.abortonerror:如果協(xié)處理器應該出錯而不是IOError,是否中止已加載協(xié)處理器的守護進程。如果將此設置為false,并且訪問控制器協(xié)處理器應該有致命錯誤,則將繞過協(xié)處理器,因此在安全安裝中應建議為true;但是,可以在每個表的基礎上為用戶協(xié)處理器重寫此操作,以確保它們不會中止其運行區(qū)域服務器,而是在出錯時卸載。
- hbase.coprocessor.region.whitelist.paths:可用于加載org.apache.hadoop.hbase.security.access.CoprocessorWhitelistMasterObserver的逗號分隔列表,通過這個列表,人們可以使用下列選項來加載協(xié)處理器的白名單路徑。
- 類路徑上的協(xié)處理器隱式列入白名單;
- *通配符所有協(xié)處理器路徑;
- 整個文件系統(tǒng)(例如,hdfs://my-cluster/);
- 由FilenameUtils.wildcardMatch計算的通配符路徑;
- 注意:路徑可以指定方案或不指定方案(例如,file:///usr/hbase/lib/coprocessors或所有文件系統(tǒng):/usr/hbase/lib/coprocessors)
更多建議: