安全模式
大數據平臺用戶完成身份認證后,系統還需要根據實際權限管理配置,選擇是否對用戶進行鑒權,確保系統用戶擁有資源的有限或全部權限。如果系統用戶權限不足,需要由系統管理員為用戶授予各個組件對應的權限后,才能訪問資源。安全模式或者普通模式集群均提供鑒權能力,組件的具體權限項在兩種模式中相同。
新安裝的安全模式集群默認即安裝了Ranger服務并啟用了Ranger鑒權,用戶可以通過組件的權限插件對組件資源的訪問設置細粒度的安全訪問策略。若不需使用Ranger進行鑒權,管理員可在服務頁面手動停用Ranger鑒權,停用Ranger鑒權后,訪問組件資源的時系統將繼續基于FusionInsight Manager的角色模型進行權限控制。
安全模式集群中,支持使用Ranger鑒權的組件包括:HDFS、Yarn、Kafka、Hive、HBase、Storm、Spark2x、Impala。
從歷史版本升級的集群,用戶訪問組件資源時默認不使用Ranger鑒權,管理員可在安裝了Ranger服務后手動啟用Ranger鑒權。
安全版本的集群所有組件默認統一對及訪問進行鑒權,不支持關閉鑒權功能。
普通模式
普通模式的集群不同組件使用各自原生開源的鑒權行為,詳細鑒權機制下表所示。
在安裝了Ranger服務的普通模式集群中,Ranger可以支持基于OS用戶進行組件資源的權限控制,支持啟用Ranger鑒權的組件包括:HBase、HDFS、Hive、Spark2x、Yarn。
普通模式組件鑒權一覽表
| 服務 | 是否鑒權 | 是否支持開關鑒權 |
|---|---|---|
| ClickHouse | 鑒權 | 不支持修改 |
| Flume | 無鑒權 | 不支持修改 |
| HBase | 無鑒權 | 支持修改 |
| HDFS | 鑒權 | 支持修改 |
| Hive | 無鑒權 | 不支持修改 |
| Hue | 無鑒權 | 不支持修改 |
| Kafka | 無鑒權 | 不支持修改 |
| Loader | 無鑒權 | 不支持修改 |
| Mapreduce | 無鑒權 | 不支持修改 |
| Oozie | 鑒權 | 不支持修改 |
| Spark2x | 無鑒權 | 不支持修改 |
| Storm | 無鑒權 | 不支持修改 |
| Yarn | 無鑒權 | 支持修改 |
| ZooKeeper | 鑒權 | 支持修改 |
Ranger權限策略條件判斷優先級
配置資源的權限策略時,可配置針對該資源的允許條件(Allow Conditions)、允許例外條件(Exclude from Allow Conditions)、拒絕條件(Deny Conditions)以及拒絕例外條件(Exclude from Deny Conditions),以滿足不同場景下的例外需求。
不同條件的優先級由高到低為:拒絕例外條件 > 拒絕條件 > 允許例外條件 > 允許條件。
系統判斷流程可參考下圖所示,如果組件資源請求未匹配到Ranger中的權限策略,系統默認將拒絕訪問。但是對于HDFS和Yarn,系統會將決策下放給組件自身的訪問控制層繼續進行判斷。


例如要將一個文件夾FileA的讀寫權限授權給用戶組groupA,但是該用戶組內某個用戶UserA除外,這時可以增加一個允許條件及一個例外條件即可實現。