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