天天看點

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

背景

DataWorks是大資料引擎上層的一個資料開發、生産、治理平台,有自己一套完善的權限體系,但由于下層對接的引擎較多(MaxCompute、EMR、Blink等),是以使用者常常對DataWorks權限、引擎權限産生混淆。

常見問題集錦

  • DataWorks開發角色好像可以讀寫所有表,這豈不是很危險?
  • [工作空間管理-權限清單]中的權限和引擎權限有什麼關系?裡面的表權限是針對所有引擎的嗎?
  • [工作空間管理-成員管理]與[工作空間管理-MaxCompute進階配置-自定義角色]中的角色到底有什麼差別?
  • ………………

說明

權限類型區分

DataWorks自身有一套權限體系,即[工作空間管理-權限清單]中所描述的内容。

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

這套權限體系和引擎的權限體系有什麼差別?

很簡單:[工作空間管理-權限清單]描述的是DataWorks本身功能的功能,如:XX使用者(角色)可以建立資料源、建立節點、送出/編輯/釋出節點、運維中心當機/暫停/重跑等功能;而引擎權限描述的權限點則是對引擎的操作,如:XX使用者(角色)可以讀寫某表(table_1)、設定引擎支援的資料類型、是否允許全表掃描等(可參考

MaxCompute使用者與權限管理

)。

DataWorks權限與引擎權限的聯系

【常見問題一】

  既然DataWorks權限、引擎權限是有差別的,那為什麼我将RAM子賬号加入到[工作空間管理-成員管理-開發角色]中,就能通路MaxCompute的表了?

  有如下幾點特性來進行說明:

(1)DataWorks、MaxCompute内的權限主體(執行任務的身份)都是阿裡雲主/子賬号。

(2)DataWorks本身的角色與MaxCompute之間的角色存在關聯關系。

       當一個阿裡雲RAM子賬号被加入至DataWorks空間時,就會自動被加入至MaxCompute項目中。

       例如:将某個RAM子賬号(RAM_A)加入至DataWorks開發角色,則該子賬号會被同時加入至該空間所綁定得到MaxCompute項目role_project_dev、role_project_scheduler兩個Role中(這兩個Role有在MaxCompute項目内啟動任務、讀寫資料的權限),是以RAM_A即能進入DataWorks建立節點,也能通過節點運作代碼讀寫MaxCompute上的表。

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?
DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

【常見問題二】

  在開發環境、生産環境究竟運作任務的是誰?需要如何保證權限足夠且合理?

(1)标準模式(一個DataWorks空間對應兩個MaxCompute項目)

    ①開發環境:執行任務的身份為“任務執行者”,即:誰運作任務,身份就是誰。

     在DataStudio、開發環境運維中心執行的任務将會下發到MaxCompute開發環境項目,同時,能夠在開發環境運作任務的賬号,也被自動加入了對應的MaxCompute Role,擁有了引擎相關權限,是以不必擔心任務運作失敗。

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

    ②生産環境:執行任務的身份可選擇為主賬号或固定的子賬号;要注意,生産環境的MaxCompute項目除了主賬号,沒有自動加入過任何RAM子賬号,是以如選擇了子賬号,頁面會進行提醒并執行授權:

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

(2)簡單模式(一個DataWorks空間對應一個MaxCompute項目)

    與标準模式不同,簡單模式送出即排程(無需釋出)。

    目前提供了兩種通路身份模式:阿裡雲主賬号、任務責任人(誰建立任務誰就為執行者);如選擇了任務責任人,則要保證對應任務的責任人角色權限足夠,并避免子賬号被删除、禁用等情況。

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

應盡量避免:

①子賬号角色變更為無權執行任務的角色,如:“訪客”、“運維”、“部署”“安全管理者”(這些角色在MaxCompute内對應的Role沒有執行任務、讀寫資料的權限)。此時執行任務将提醒權限不夠:

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

    ②子賬号被從DataWorks空間内移除,則會報錯使用者不存在與項目内:

DataWorks百問百答37:DataWorks-MaxCompute權限體系有哪些混淆點?

DataWorks百問百答曆史記錄

請點選這裡檢視>>

更多DataWorks技術和産品資訊,歡迎加入

【DataWorks釘釘交流群】

繼續閱讀