在DataWorks運行EMR任務時,您需要在EMR側及DataWorks側進行相關的權限認證,以保證任務可以順利執行。本文為您介紹DataWorks on EMR權限管控說明。
背景信息
在DataWorks中,可通過DataWorks工作空間成員與EMR集群賬號映射的方式獲取EMR引擎的權限,完成工作空間成員在集群上的用戶認證與鑒權,從而使不同阿里云主賬號、任務責任人或RAM用戶在DataWorks上運行EMR任務時,擁有不同的數據操作權限,實現權限隔離。在DataWorks上運行EMR任務時,對于EMR側及DataWorks側的權限說明請參見EMR集群側、DataWorks側。
使用限制
DataWorks目前僅支持使用LDAP賬號或系統賬號兩種方式進行工作空間成員與EMR集群賬號的映射。注冊在DataWorks作為引擎實例的集群在配置DataWorks工作空間成員與集群賬號映射時,存在以下限制:
DataWorks引擎映射為集群維度,并且僅支持選擇一種認證方式映射集群賬號。
在DataWorks映射的集群賬號、密碼需要與集群實際使用的賬號、密碼一致。
若集群未開啟認證或DataWorks上映射和的賬號、密碼與集群實際使用的賬號、密碼不一致,DataWorks上執行EMR任務將會失敗,具體場景如下表。
場景 | 描述 |
在DataWorks采用系統賬號映射 | 當DataWorks映射的集群賬號與集群實際的賬號不一致時,DataWorks上執行的EMR任務將會失敗。 |
在DataWorks采用LDAP賬號映射 | 如下情況,DataWorks上執行的EMR任務將會失敗:
|
不同EMR引擎支持的認證方式不同,目標引擎是否支持LDAP認證請以產品實際能力為準。
EMR集群側
開啟認證服務
若您要使用非系統賬號進行集群身份認證,則需先在集群開啟對應的認證服務,并將在DataWorks上進行EMR任務開發的賬號加入認證服務。步驟如下:
在集群開啟認證服務。
若您需要通過LDAP實現身份認證,則需先在集群開啟LDAP認證。詳情請參見開啟LDAP。
規劃用于執行任務的賬號,并將其分別添加至LDAP及DataWorks工作空間。
建議將需要在DataStudio中創建、測試、提交及發布EMR類型任務的相關人員添加至LDAP及DataWorks工作空間。添加目標用戶至LDAP及DataWorks工作空間,詳情請參見添加用戶至LDAP、添加用戶至DataWorks工作空間。
數據權限控制
您可在EMR集群通過權限管理相關組件服務實現DataWorks上各用戶的數據權限隔離。例如,通過Ranger組件對阿里云賬號對應的集群用戶進行權限管控。詳情請參見Ranger概述。
DataWorks側
EMR引擎權限
在DataWorks上執行EMR任務前,您需要先注冊EMR集群為DataWorks上運行EMR任務所使用的引擎環境。目標賬號需要擁有
AliyunEMRFullAccess
權限策略,才可執行注冊EMR集群操作。授權用戶AliyunEMRFullAccess
權限策略,詳情請參見用戶、角色與權限概述。DataWorks功能模塊使用權限
在DataWorks運行EMR任務時,您需要擁有DataWorks數據開發(DataStudio)、數據地圖、數據質量、智能監控等功能模塊的使用權限,以便執行開發任務及開發后的運維、質量管控操作。DataWorks功能模塊權限,詳情請參見功能模塊權限。
配置賬號權限映射
當您的EMR引擎配置為安全模式后,您可進入DataWorks的
頁面,配置DataWorks工作空間成員與集群賬號的映射,從而使DataWorks工作空間成員擁有與其映射的集群賬號相同的權限,以便相關組件實現數據權限隔離。說明EMR引擎配置及賬號權限映射配置,詳情請參見DataWorks配置。