由于公司各個(gè)部門(mén)對(duì) hive 的使用增加,針對(duì) hive 的 權(quán)限控制 是必須要開(kāi)展的一項(xiàng)工作了。針對(duì)此事項(xiàng),最近進(jìn)行了 hive 源碼的查看,并完成了初步的設(shè)計(jì)和實(shí)現(xiàn)基本滿足了當(dāng)前 權(quán)限控制 的目標(biāo)。 目標(biāo) 1.采用公共模塊或者公共配置文件去做用戶權(quán)限管理。2.每
由于公司各個(gè)部門(mén)對(duì)hive的使用增加,針對(duì)hive的權(quán)限控制是必須要開(kāi)展的一項(xiàng)工作了。針對(duì)此事項(xiàng),最近進(jìn)行了hive源碼的查看,并完成了初步的設(shè)計(jì)和實(shí)現(xiàn)基本滿足了當(dāng)前權(quán)限控制的目標(biāo)。
目標(biāo)
1.采用公共模塊或者公共配置文件去做用戶權(quán)限管理。2.每個(gè)部門(mén)使用不同的賬號(hào)進(jìn)行查詢(xún)Hadoop集群數(shù)據(jù)。3.所有查詢(xún)Hadoop集群數(shù)據(jù)的用戶賬號(hào)都需要經(jīng)過(guò)權(quán)限管理模塊驗(yàn)證,無(wú)權(quán)限的操作應(yīng)該給予提示信息。4.根據(jù)各部門(mén)的職責(zé)限定該部門(mén)的人員使用的賬號(hào)只能查詢(xún)歸屬于該部門(mén)的數(shù)據(jù)。5.對(duì)于敏感信息應(yīng)該只有特殊賬號(hào)才可以進(jìn)行查詢(xún)。6.對(duì)于每次操作需要記錄操作日志(時(shí)間,用戶名,操作表),日志需要定時(shí)備份。
針對(duì)以上目標(biāo),形成如下任務(wù)
1.針對(duì)hiveserver增加權(quán)限控制功能。2.針對(duì)hivelib增加用戶權(quán)限配置模塊。3.針對(duì)hiveclient增加用戶配置功能。4.擴(kuò)展hive配置文件,增加4個(gè)保留配置。5.提供權(quán)限控制的web項(xiàng)目,用于權(quán)限配置。
控制內(nèi)容
1.使用者同一個(gè)任務(wù)最大使用分區(qū)數(shù)量。用于控制map任務(wù)數(shù)量。2.使用者同一個(gè)任務(wù)最大reduce任務(wù)數(shù)量。3.使用者可使用的DB。4.使用者可使用的表。(如果該表所對(duì)應(yīng)的db已經(jīng)配置給該用戶,則無(wú)需再單獨(dú)進(jìn)行配置)。5.使用者不允許訪問(wèn)的特殊列。6.使用者在使用某張表的時(shí)候必須使用的列。(暫時(shí)沒(méi)有使用場(chǎng)景)7.針對(duì)用戶的頻道進(jìn)行分區(qū)限制。
本次修改涉及范圍
1.hiveserver修改hive-exec-0.8.1.jar,hive-common-0.8.1.jar,主要用于增加權(quán)限控制,和增加配置項(xiàng)2.hivelib(公司內(nèi)部使用的python類(lèi)庫(kù),通過(guò)thrift訪問(wèn)hive,抽取數(shù)據(jù))修改hiveclient.py,同時(shí)增加conf配置。3.修改hiveclient針對(duì)conf/hive-site.xml增加配置項(xiàng)。4.利用django完成web權(quán)限分配項(xiàng)目。(開(kāi)發(fā)快速)
原文地址:自定義Hive權(quán)限控制(1) 設(shè)計(jì)目標(biāo), 感謝原作者分享。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com