在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工作空間,詳情請參見添加使用者至DataWorks工作空間。
資料許可權控制
您可在EMR叢集通過許可權管理相關元件服務實現DataWorks上各使用者的資料許可權隔離。例如,通過Ranger組件對阿里雲帳號對應的叢集使用者進行許可權管控。
DataWorks側
EMR引擎許可權
在DataWorks上執行EMR任務前,您需要先註冊EMR叢集為DataWorks上運行EMR任務所使用的引擎環境。目標帳號需要擁有
AliyunEMRFullAccess
權限原則,才可執行註冊EMR叢集操作。授權使用者AliyunEMRFullAccess
權限原則,詳情請參見使用者、角色與許可權概述。DataWorks功能模組使用許可權
在DataWorks運行EMR任務時,您需要擁有DataWorks資料開發(DataStudio)、資料地圖、資料品質、智能監控等功能模組的使用許可權,以便執行開發工作單位及開發後的營運、品質管控操作。DataWorks功能模組許可權,詳情請參見功能模組許可權。
配置帳號許可權映射
當您的EMR引擎配置為安全模式後,您可進入DataWorks的
頁面,配置DataWorks工作空間成員與叢集帳號的映射,從而使DataWorks工作空間成員擁有與其映射的叢集帳號相同的許可權,以便相關組件實現資料許可權隔離。說明EMR引擎配置及帳號許可權映射配置,詳情請參見DataWorks配置。