二十五、爬取毛豆新車的數據
913
2025-03-31
Ranger-hbase鑒權原理
基本流程
RangerAuthorizationCoprocessor實現了CoprocessorService接口,將自己注冊進去,監聽grant、revoke。實現了grant(),和revoke()方法。在grant中UpdateRangerPoliciesOnGrantRevoke = true將要更新自己的配置。默認值為true,代表了hbase grant操作會同步更新ranger中的權限。會將所有的鑒權操作,放在AuthorizationSession中,其中有緩存權限信息。
PolicyRefresher會同步ranger權限配置,默認是30s更新一次。
RangerPolicyEngineImpl#isAccessAllowed中會從RangerPolicyRepository中查找該資源的所有Policy,遍歷執行RangerDefaultPolicyEvaluator#evaluatePolicyItems,來進行評估是否有權限訪問。遍歷過程中如果發現了匹配的規則,決定了deny還是allow,遍歷就會break。每一次的遍歷先從denyEvaluators里查找匹配的deny權限,如果沒有找到,就從allowEvaluators里查找匹配的allow權限。
pollingIntervalMs = RangerConfiguration.getInstance().getLong(propertyPrefix + ".policy.pollIntervalMs", 30 * 1000);
Rangers實現了自己的類加載器,用于解決jar版本沖突。
RangerPluginClassLoader,根據指定目錄加載class文件,并且保存在內存中,使ranger的相關進程都可以共享。Ranger實現的類加載器破壞了雙親委派機制,從而將自己使用的第三方庫和組件使用的第三方庫隔離。
Ranger和HBase ACL對比:
ranger中新增的allow,deny方式進行權限控制,增加了權限排除的多種組合。
ranger將平臺多個組件的權限控制進行集中管理,易于操作,把控。
ranger的DB容易成為該系統的單點,因為所有的策略更新都要訪問該DB;
ranger權限的生效周期不如hbase自帶策略及時;
操作項
Ranger
HBase ACL
權限管理
需要在ranger管理界面上配置用戶,表的權限
在hbase? shell通過命令可以賦權
表級權限
支持
支持
列簇級權限
支持
支持
字段級權限
支持
支持
行級權限
不支持
支持
權限生效周期
有延遲,一般是30s
實時生效
EI企業智能 FusionInsight HBase
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。