本文為您介紹如何手動配置DataWorks租戶成員云賬號與EMR集群指定身份賬號的映射關系,實現DataWorks租戶成員可通過映射的集群指定身份在DataWorks側執行任務。
注意事項
集群身份映射關系將在注冊了同一個EMR集群的所有工作空間內生效,請謹慎修改EMR集群。
如若未參考本文手動配置DataWorks租戶成員與集群賬號映射,無論您使用哪個云賬號在DataWorks側執行任務,DataWorks都將默認按照以下策略將任務下發至EMR集群執行:
若使用阿里云子賬號(RAM用戶)執行任務:將默認按照與當前操作人同名的EMR集群系統賬號執行任務。當集群未開啟LDAP或Kerberos認證,您需要參考本文配置映射,否則DataWorks任務執行將失敗。
若使用阿里云主賬號執行任務:無論集群是否開啟LDAP或Kerberos認證,您均需要手動為主賬號配置賬號映射,否則DataWorks使用主賬號執行任務均會失敗。
使用說明
認證方式
DataWorks不支持同時配置LDAP和Kerberos賬號映射,因此,同時開啟LDAP和Kerberos認證的EMR組件,在DataWorks執行任務時會失敗。
白名單配置
當集群開啟Ranger認證時,您需要為集群添加DataWorks白名單,以確保DataWorks可以正常訪問EMR集群。白名單配置,詳情請參見附錄:添加DataWorks白名單。
用戶管理
若您使用非系統賬號進行集群身份認證(例如:Kerberos),則需要先在集群開啟對應的認證服務,并將在DataWorks上進行EMR任務開發的賬號加入該認證服務,詳情請參見附錄:配置Kerberos認證。
數據權限
您可在EMR集群通過權限管理相關組件服務實現DataWorks上各用戶的數據權限隔離。例如,通過Ranger組件對阿里云賬號對應的集群用戶進行權限管控。詳情請參見Ranger概述。
如果EMR已將DLF設置為元數據服務,并開啟DLF-Auth組件實現數據湖構建DLF的權限功能,則您可以在DataWorks安全中心模塊申請數據權限,詳情請參見DLF數據訪問權限控制。
映射配置
請注意以下場景會導致DataWorks任務執行失敗:
場景
描述
在DataWorks采用系統賬號映射
DataWorks使用子賬號(RAM用戶)執行任務,但子賬號沒有同名的集群賬號。
DataWorks使用子賬號(RAM用戶)執行任務,且手動進行DataWorks空間成員與集群賬號映射,但子賬號映射的集群賬號與集群實際的賬號或密碼不一致。
DataWorks使用主賬號執行任務,但主賬號未映射集群賬號。
在DataWorks采用LDAP/Kerberos賬號映射
集群開啟了LDAP或Kerberos認證服務,但DataWorks未配置對應的賬號映射或映射錯誤。
DataWorks選擇了Kerberos映射,但實際集群未開啟Kerberos。
DataWorks選擇了LDAP映射,但實際集群組件未開啟該認證服務。
說明當您在DataWorks配置LDAP映射后,DataWorks上SQL類型任務(Hive、Impala、Presto、Trino)默認使用該映射賬號進行認證,此時若組件未在集群開啟LDAP認證,任務執行便會失敗。
使用限制
僅以下角色可為所有人配置身份映射:
阿里云主賬號。
擁有AliyunDataWorksFullAccess和AliyunEMRFullAccess權限的子賬號(RAM用戶)或RAM角色。
擁有空間管理員角色與AliyunEMRFullAccess的子賬號(RAM用戶)或RAM角色。
非上述角色僅可以為自己配置身份映射。
進入配置集群賬號映射頁面
進入管理中心頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入管理中心。
單擊左側導航欄的集群管理,進入集群管理頁面 ,單擊注冊集群按鈕,選擇注冊集群類型為E-MapReduce。進入注冊E-MapReduce集群頁面。
進入配置集群賬號映射頁面。
在EMR集群列表頁面,找到目標EMR集群,單擊賬號映射。
設置集群賬號映射
單擊賬號映射頁面右上角的編輯賬號映射,即可進入編輯集群的賬號映射頁面,您可通過如下步驟配置集群身份映射。
上傳配置文件。
當集群開啟Kerberos認證后,您需先上傳keytab文件,保障EMR Trino和EMR Presto任務的正常運行。詳情請參見下載認證憑據。
配置映射。
配置模式:支持自定義當前集群的映射關系,也可通過選擇引用其他集群配置,引用已有映射關系的配置。
映射類型:集群認證的賬號類型,支持選擇系統賬號映射、OPEN LDAP賬號映射、Kerberos賬號映射。
說明當映射類型選擇Kerberos賬號映射時,您需要上傳keytab文件。
使用Kerberos賬號映射前,請確保集群已開啟Kerberos服務。詳情請參見開啟Kerberos。
使用LDAP賬號映射前,請確保相關組件已開啟LDAP服務。當您在DataWorks配置LDAP映射后,DataWorks上SQL類型任務(Hive、Impala、Presto、Trino)默認使用該映射賬號進行認證,此時若組件未在集群開啟LDAP認證,任務執行便會失敗。
附錄:添加DataWorks白名單
如果EMR啟用了Ranger,則使用DataWorks進行EMR作業開發前,您需要在EMR中添加白名單并重啟Hive,否則作業運行時會報錯Cannot modify spark.yarn.queue at runtime
或Cannot modify SKYNET_BIZDATE at runtime
。Ranger相關內容詳情請參見Ranger概述。
重啟服務。
白名單配置完成后需要重啟服務,重啟后配置才會生效。重啟服務的操作詳情請參見重啟服務。