全部產品
Search
文件中心

DataWorks:情境:MaxCompute引擎在不同模式工作空間訪問資源與許可權說明

更新時間:Oct 15, 2024

DataWorks包括簡單模式和標準模式兩種工作空間模式,本文為您詳細介紹MaxCompute引擎在不同模式工作空間的許可權管理特徵、資源訪問行為差異。

前提條件

使用說明

類別

說明

相關文檔

MaxCompute不同空間模式下許可權管理特徵的差異。

由於不同工作空間模式下,引擎映射的DataWorks環境不同,將導致不同模式下資料訪問行為習慣與資料許可權、資料安全等級存在差異。

不同模式工作空間的許可權管理特徵

MaxCompute不同空間模式下資源訪問行為的差異。

由於不同工作空間模式對應的引擎個數,對應的DataWorks空間環境個數不同,其預設訪問的資源及需要訪問生產資源的方式存在差異。

MaxCompute引擎在不同模式工作空間的資源訪問行為差異

不同模式下資料庫、表命名規範。

命名規範嚴格區分資料庫名和表名,避免誤操作生產環境。

MaxCompute引擎在不同模式下資料庫表命名規範

不同模式工作空間的許可權管理特徵

不同工作空間模式下,引擎映射的DataWorks環境不同,不同工作空間類型的許可權管理特徵與優缺點也不一致,以下表格為您對比介紹兩種空間類型的許可權細分特點。

細分特點

簡單模式

標準模式

許可權概述

在簡單模式空間下,DataWorks的“開發”角色因為與所綁定MaxCompute專案的“Role_Project_Dev” Role進行了映射,因此:

  • DataWorks開發角色天然能夠讀取MaxCompute專案內的所有資料。

  • 由於簡單模式工作空間的開發環境即生產環境,因此預設角色映射引擎Role後,該角色將擁有直接操作生產環境的許可權。

在標準模式空間下,DataWorks的“開發”角色因為與所綁定MaxCompute專案(dev環境)的“Role_Project_Dev” Role進行了映射,因此:

  • DataWorks開發角色天然能夠讀取MaxCompute專案(dev環境)內的所有資料。

  • 由於沒有和MaxCompute專案(PROD環境)的role映射,因此預設情況下DataWorks開發角色無MaxCompute(PROD環境)的資料許可權。

優點

簡單、方便、易用。

僅需要授權資料開發人員“DataWorks開發角色”即可完成所有資料倉儲開發工作。

安全、規範。

  • 具備安全、規範的代碼發布管控流程(包含程式碼檢閱、代碼DIFF查看等功能),保障生產環境穩定性,避免不必要的因代碼邏輯引起的髒資料蔓延或任務報錯等非預期情況。

  • 資料訪問得到有效管控,資料安全得以保障。

缺點

存在不穩定、不安全的風險。

  • 開發角色可以不經過任何人審批,隨時新增、修改代碼並提交至調度系統,給生產環境帶來不穩定因素。

  • 面向MaxCompute計算引擎時,開發角色預設擁有當前MaxCompute專案所有表的讀寫權限,可隨意對錶進行增加、刪除和修改等操作,存在資料安全風險。

流程相對複雜,一般情況下無法一人完成所有資料開發、生產流程。

MaxCompute引擎在不同模式工作空間的資源訪問行為差異

MaxCompute可跨專案訪問資源,所以在DataWorks上,開發人員可在資料開發即開發環境介面直接存取生產環境下的資源。由於簡單模式與標準模式對應的引擎專案個數和DataWorks空間環境個數不同,其訪問生產環境資源的命令不同,具體訪問行為如下表所示:

情境

工作空間模式

資料開發介面

生產營運中心

執行帳號

標準模式

當前操作人

調度引擎指定帳號

簡單模式

調度引擎指定帳號

說明

簡單模式工作空間下,如果調度引擎指定帳號為阿里雲主帳號,無論是否是主帳號進行執行任務的操作,其都將使用主帳號身份執行任務。

資源所在環境

標準模式

projectname_dev.tablename/function/resource

projectname.tablename/function/resource

簡單模式

projectname.tablename/function/resource

訪問資源

標準模式

情境一:select col1 from tablename

  • 用個人帳號訪問開發環境下該表。

  • 即用個人帳號訪問:projectname_dev.tablename

情境二:select col1 from projectname.tablename

  • 用個人帳號訪問生產環境下該表。

  • 即用個人帳號訪問:projectname.tablename

說明

阿里雲RAM使用者(非調度引擎指定帳號)預設無許可權訪問生產環境,生產表許可權需要在資訊安全中心申請。

select col1 from tablename

  • 用調度引擎指定帳號訪問生產環境下該表。

  • 即調度引擎指定帳號訪問:projectname.tablename

簡單模式

select col1 from tablename.

  • 用調度引擎指定帳號訪問生產表。

  • 即用調度引擎指定帳號訪問生產表:projectname.tablename

說明

簡單模式工作空間下,如果調度引擎指定帳號為阿里雲主帳號,無論是否是主帳號進行執行任務的操作,其都將使用主帳號身份訪問該資源。

訪問資源許可權問題

標準模式

個人所擁有的資源許可權。

調度引擎指定帳號所擁有的許可權。

簡單模式

調度引擎指定帳號所擁有的許可權。

說明

如果當前簡單模式工作空間使用的調度引擎指定帳號為阿里雲主帳號,許可權過大,不建議您直接使用阿里雲主帳號作為簡單模式工作空間調度引擎執行帳號。

MaxCompute引擎在不同模式下資料庫表命名規範

簡單模式下不區分開發環境和生產環境,開發庫即生產庫。標準模式下,支援開發環境和生產環境隔離,開發環境和生產環境的資料庫表命名有所區別,如果需要在開發環境訪問生產環境的資料庫表,請根據以下命名規範嚴格區分資料庫表名,避免誤操作生產環境。

環境類型

標準模式

樣本

開發環境

專案名_dev.表名

在projectA專案下建立一個開發庫表user_info,則資料庫表名為:projectA_dev.user_info。

生產環境

專案名.表名

在projectA專案下建立一個生產庫表user_info,則資料庫表名為:projectA.user_info。