基于角色的權限控制
FusionInsight通過采用RBAC(role-based access control,基于角色的權限控制)方式對大數據系統進行權限管理,將系統中各組件零散的權限管理功能集中呈現和管理,對普通用戶屏蔽掉了內部的權限管理細節,對管理員簡化了權限管理的操作方法,提升權限管理的易用性和用戶體驗。
FusionInsight權限模型由“用戶-用戶組-角色-權限”四類對象構成。
權限模型

- 權限
由組件側定義,允許訪問組件某個資源的能力。不同組件針對自己的資源,有不同的權限。
例如:
?HDFS針對文件資源權限,有讀、寫、執行等權限。
?HBase針對表資源權限,有創建、讀、寫等權限。
- 角色
組件權限的一個集合,一個角色可以包含多個組件的多個權限,不同的角色也可以擁有同一個組件的同一個資源的權限。
- 用戶組
用戶的集合,當用戶組關聯某個或者多個角色后,該用戶組內的用戶就將擁有這些角色所定義的組件權限。
不同用戶組可以關聯同一個角色,一個用戶組也可以不關聯任何角色,該用戶組原則上將不具有任何組件資源的權限。
說明部分組件針對特定的默認用戶組,系統默認賦予了部分權限。
- 用戶
系統的訪問者,每個用戶的權限由該用戶關聯的用戶組和角色所對應的權限構成,用戶需要加入用戶組或者關聯角色來獲得對應的權限。
基于策略的權限控制
Ranger組件通過PBAC(policy-based access control,基于策略的權限控制)方式進行權限管理,可對HDFS、Hive、HBase等組件進行更加細粒度的數據訪問控制。
說明組件同時只支持一種權限控制機制,當組件啟用Ranger權限控制策略后,通過FusionInsight Manager創建的角色中關于該組件的權限將失效(HDFS與Yarn的組件ACL規則仍將生效),用戶需通過Ranger管理界面添加策略進行資源的賦權。
Ranger的權限模型由多條權限策略組成,權限策略主要由以下幾方面組成:
- 資源
組件所提供的可由用戶訪問的對象,例如HDFS的文件或文件夾、Yarn中的隊列、Hive中的數據庫/表/列等。
- 用戶
系統的訪問者,每個用戶的權限由該用戶關聯的策略來獲得。LDAP中的用戶、用戶組、角色信息會周期性的同步至Ranger。
- 權限
策略中針對資源可配置各種訪問條件,例如文件的讀寫,具體可以配置允許條件、拒絕條件以及例外條件等。