DataWorks提供訪問EMR Hive引擎資料時的許可權管控能力,包括許可權申請、許可權審批、許可權審計。本文以一個完整的樣本,從管理員配置和開發人員申請許可權兩個視角,為您介紹Hive資料存取權限控制的完整流程。
功能概述
通過將EMR叢集整合的Apache Ranger與DataWorks資訊安全中心對接,可以為EMR Hive引擎提供精細化的、可追溯的資料存取權限控制。
-
核心能力:實現對EMR Hive的庫層級和表層級的資料存取權限管理。
-
角色分工:
-
管理員(DataWorks租用戶系統管理員,需同時擁有EMR叢集系統管理權限):負責底層技術配置和許可權審批,精細化地管理和審計所有開發人員的資料存取權限。
-
開發人員(普通RAM使用者):負責資料使用,在DataWorks資訊安全中心以自助方式申請所需的Hive資料許可權,無需關心底層實現。
-
-
核心價值:實現配置與使用的分離。管理員統一管控資料安全,開發人員按需申請、便捷使用,大幅提升資料安全性和協同效率。
流程說明
整個流程分為 “一次性配置” 和 “日常使用” 兩個階段,涉及管理員和開發人員兩種角色在EMR和DataWorks兩個平台上的操作。
階段一:管理員進行一次性配置
在使用者可以申請許可權之前,管理員需要完成所有前置配置工作。
前置確認工作
-
【EMR側】
-
確保已建立EMR叢集,並已開啟 OpenLDAP認證、Ranger服務。
-
確保Hive服務已配置LDAP認證(
hive.server2.authentication=LDAP)。 -
確保已在OpenLDAP中為所有相關使用者建立對應的LDAP帳號。詳情請參見OpenLDAP 使用者管理。
-
確保Ranger UI中已經添加LDAP帳號。
-
-
【DataWorks側】
-
確保EMR叢集登入到DataWorks工作空間成為EMR計算資源,並完成資源群組初始化(需保證VPC連通或同一個VPC內)。
-
完成EMR計算資源的帳號映射配置,將阿里雲帳號映射到LDAP帳號。詳情請參見計算資源的設定叢集身份映射 。
-
確保操作者擁有DataWorks租用戶系統管理員許可權。
-
配置操作流程
|
步驟 |
操作角色 |
操作平台 |
操作內容 |
|
1 |
管理員 |
DataWorks側 |
關聯集群與Ranger:在DataWorks資訊安全中心新增Ranger配置,並關聯到目標EMR叢集。 |
|
2 |
管理員 |
DataWorks側 |
關聯Hive服務:在Ranger配置中,新增一個Hive類型的Ranger Service進行關聯。 |
|
3 |
管理員 |
DataWorks側 |
配置身份映射:為RAM使用者配置Hive身份憑證,建立RAM使用者到LDAP帳號的映射關係。 |
階段二:開發人員與管理員的日常使用與審批
配置完成後,進入日常的許可權申請與審批迴圈。
|
步驟 |
操作角色 |
操作平台 |
操作內容 |
|
1 |
開發人員 |
DataWorks側 |
申請許可權:在DataWorks資訊安全中心的“資料存取控制”模組,自助申請所需Hive庫或表的存取權限。 |
|
2 |
管理員 |
DataWorks側 |
審批許可權:在DataWorks資訊安全中心審批開發人員的許可權申請。 |
|
3 |
/ |
EMR側 |
許可權下發:審批通過後,DataWorks會自動調用Ranger介面,在Ranger中產生對應的存取原則(Policy)。(此步驟為自動觸發) |
|
4 |
開發人員 |
DataWorks側 |
使用資料:權限原則生效後,開發人員即可在資料開發、資料分析、資料地圖等模組訪問已獲授權的Hive資料。 |
樣本說明
本文以開發人員bob向管理員申請訪問Hive中user_orders表為例(SELECT許可權),示範Hive資料存取權限控制的完整配置和使用流程:
|
角色/資源 |
說明 |
|
管理員 |
RAM使用者alice@company.com,對應LDAP帳號alice,身份憑證中帳號類型為 管理員 (可在DataWorks資訊安全中心審批許可權申請)。 |
|
開發人員 |
RAM使用者bob@company.com,對應LDAP帳號bob,身份憑證中帳號類型為普通使用者。 |
|
EMR叢集 |
已開啟OpenLDAP、Hive LDAP認證和Ranger服務的EMR叢集。 |
|
Hive Service |
Ranger Service Name為 |
|
目標資料 |
EMR Hive中 |
在整個流程中,以下4個位置需要使用同一個LDAP帳號名稱,請確保一致:EMR叢集的LDAP使用者、Ranger UI中的使用者、DataWorks資訊安全中心的身份憑證帳號名稱、 DataWorks管理中心計算引擎的帳號映射 。其中,身份憑證用於DataWorks資訊安全中心識別使用者身份和系統管理權限審批,帳號映射用於DataWorks管理中心提交計算任務時的使用者身份轉換。
管理員:配置Hive資料存取控制
管理員需要依次完成以下三個配置步驟,才能讓開發人員通過DataWorks資訊安全中心申請和使用Hive資料許可權。
步驟一:新增Ranger配置
管理員需要在DataWorks資訊安全中心中新增Ranger配置,將EMR叢集與DataWorks關聯。配置內容包括:
-
叢集類型:選擇EMR。
-
EMR叢集ID:選擇登入到DataWorks工作空間的EMR叢集。
-
資源群組:選擇與EMR叢集在同一VPC的通用型資源群組。
-
RangerAdmin地址:填寫EMR叢集中RangerAdmin的內網訪問地址。
-
管理員帳號/密碼:填寫Ranger管理員的帳號和密碼。
詳細操作步驟請參見新增Ranger配置。
步驟二: 關聯Hive Service
新增Ranger配置後,需要新增Hive類型的Service關聯,使DataWorks能夠通過Ranger管理Hive的資料存取權限。
-
在資訊安全中心頁面,選擇安全策略 > 管理Ranger。
-
單擊目標Ranger配置的管理Service。
-
單擊新增关联,配置以下資訊:
參數
描述
Ranger Service Type
選擇Hive。
Ranger Service Name
輸入EMR叢集中已配置的Hive Ranger Service名稱。本例中填寫
emr-hive。EMR 集群
選擇已關聯到當前Ranger的EMR叢集。
詳細操作步驟請參見新增Ranger配置中的關聯Service部分。
步驟三:配置身份憑證
管理員需要為每個需要訪問Hive資料的RAM使用者配置身份憑證,將RAM使用者與LDAP帳號關聯。
-
身份憑證中的帳號名稱必須與EMR叢集LDAP中為該使用者設定的使用者名稱(例如本例中的alice)完全一致。這是Ranger進行使用者識別和授權的唯一依據。
-
建議帳號名稱與阿里雲RAM帳號同名,便於管理。
本例中,管理員需要分別為alice和bob配置身份憑證:
為管理員alice配置身份憑證:
|
參數 |
樣本值 |
|
阿里云RAM用户/角色 |
alice@company.com |
|
数据源类型 |
Hive |
|
集群/实例 |
選擇已配置Ranger的EMR叢集。 |
|
賬號類型 |
管理員。管理員可審批其他使用者的許可權申請。 |
|
账号名称 |
alice(需與EMR叢集中LDAP帳號名稱一致) |
|
账号密码 |
填寫LDAP帳號alice的密碼。 |
為開發人員bob配置身份憑證:
|
參數 |
樣本值 |
|
阿里云RAM用户/角色 |
bob@company.com |
|
数据源类型 |
Hive |
|
集群/实例 |
選擇已配置Ranger的EMR叢集(與alice相同的叢集)。 |
|
賬號類型 |
普通使用者。普通使用者只能申請許可權,不能審批許可權。 |
|
账号名称 |
bob(需與EMR叢集中LDAP帳號名稱一致) |
|
账号密码 |
填寫LDAP帳號bob的密碼。 |
詳細操作步驟請參見身份憑證。
開發人員:申請Hive資料存取權限
管理員完成上述配置後,開發人員bob即可在DataWorks資訊安全中心申請Hive資料的存取權限。
步驟一:進入資料存取控制
-
登入DataWorks控制台,進入目標工作空間。在左側導覽列,選擇數據治理 > 資訊安全中心。
-
在資訊安全中心頁面,在左側導覽列單擊數據訪問控制。
步驟二:申請許可權
在資料存取控制頁面進行許可權申請,需要配置申請內容與申請信息兩個模組的資訊。
-
Hive的許可權申請,不支援自訂審批、許可權審計管理。
-
Hive的許可權申請,只能由身份憑證中帳號類型為管理員的RAM使用者/RAM角色審核。
-
在數據訪問控制頁面,單擊進入權限申請頁簽。
-
申請資源許可權。
-
在申請內容地區,選擇資料來源類型為Hive,即可配置申請內容。
-
申請類型:可按需求在庫與表之間選擇。本例中選擇表。
-
EMR 集群:選擇已在DataWorks中綁定的EMR叢集執行個體。
-
選擇需要申請的資源與資源許可權。
選擇申請類型為表時,先選擇資料庫(本例為
order_db),系統自動載入該庫中所有可申請許可權的資料表。選擇需要申請許可權的表(本例為user_orders)以及表許可權(本例為SELECT)。若選擇申請類型為庫時,申請內容地區會載入出可以申請許可權的Hive資料庫名稱。選擇需要申請許可權的資料庫以及庫許可權(如SELECT、ALL等)。
-
-
配置申請資訊。
參數
描述
使用者
選擇需要為誰申請目標資源許可權。
-
當前登錄賬號:表示為當前登入DataWorks工作空間的阿里雲帳號申請許可權。本例中bob選擇此項。
-
代他人申請:表示當前登入DataWorks工作空間的阿里雲帳號為其他阿里雲帳號申請許可權。選擇該選項時,需要配置用户名參數。
申請時長
Hive僅支援:永久。
申請原因
輸入申請許可權的原因。本例中bob填寫"需要查詢order_db庫中user_orders表的資料進行資料分析"。
-
-
-
配置完成後,單擊申請權限,即可提交許可權申請。
管理員 :審批許可權
開發人員bob提交許可權申請後,身份憑證中帳號類型為管理員的RAM使用者(本例為alice@company.com)需要在資訊安全中心審批該申請。
-
查看待審批的申請。
在左側導覽列,選擇申請與審批 > 我的審批任務,單擊資料存取控制頁簽。選擇数据源类型為Hive,查看bob提交的許可權申請。
說明只有身份憑證中帳號類型為管理員的RAM使用者或RAM角色擁有審核許可權。本例中只有alice(管理員類型)可以審批。
-
查看審批詳情。
單擊目標申請操作列的审批,您可以在審批詳情對話方塊查看目標申請的申請詳情、審批記錄等詳細資料。
-
審批申請。
根據申請的詳細內容及當前需求判斷是否同意審批該申請,填寫审批意见,選擇同意或拒絕進行中的申請。
您也可以直接在我的審批任務頁面,勾選全部申請,單擊批量同意或批量拒绝,填寫审批意见,批量處理目標申請。
管理員alice審批通過後,Ranger會自動在EMR叢集中產生對應的Policy。開發人員bob即可通過DataWorks訪問order_db庫中user_orders表的資料。
查看許可權申請及審批記錄
-
查看許可權申請記錄:在左側導覽列,選擇申請與審批 > 我的申請單,單擊資料存取控制頁簽,可按資料來源類型篩選Hive,查看當前帳號提交的Hive許可權申請記錄。
-
查看許可權審批記錄:在左側導覽列,選擇申請與審批 > 我的審批任務,單擊資料存取控制頁簽,將任務狀態切換為全部,按資料來源類型篩選Hive,查看當前帳號已審批的Hive許可權申請。
-
Hive許可權申請記錄支援撤回(僅對審批中狀態的申請有效),不支援續期。
-
資料存取控制頁面的許可權審計Tab當前僅支援MaxCompute引擎,Hive引擎暫不可在此Tab進行許可權審計。
-
資料存取控制頁面的「許可權審批記錄」原Tab入口已下線,僅保留遷移提示。請按上述路徑前往「申請與審批 > 我的審批任務」查看。