全部產品
Search
文件中心

DataWorks:DataWorks on EMR許可權管控說明

更新時間:Jun 26, 2024

在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任務將會失敗:

  • 當叢集開啟了LDAP認證服務,但DataWorks未配置對應的帳號映射。

  • 當DataWorks開啟了LDAP認證,但實際叢集組件未開啟該認證服務。

    說明

    當您在DataWorks配置LDAP映射後,DataWorks上SQL類型任務(Hive、Impala、Presto)預設使用該映射帳號進行認證,此時若組件未在叢集開啟LDAP認證,任務執行便會失敗。

說明

不同EMR引擎支援的認證方式不同,目標引擎是否支援LDAP認證請以產品實際能力為準。

EMR叢集側

  • 開啟認證服務

    若您要使用非系統帳號進行叢集身份認證,則需先在叢集開啟對應的認證服務,並將在DataWorks上進行EMR任務開發的帳號加入認證服務。步驟如下:

    1. 在叢集開啟認證服務。

      若您需要通過LDAP實現身份認證,則需先在叢集開啟LDAP認證。詳情請參見開啟LDAP

    2. 規劃用於執行任務的帳號,並將其分別添加至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配置