本文介紹在MaxCompute專案中如何將RAM子帳號設定為超級管理員,並提供了超級管理員在成員管理、許可權管理等方面的使用建議。
背景資訊
日常工作中,為了保障資料安全,通常主帳號由特定人員管理,使用MaxCompute的大部分使用者都只持有RAM子帳號。但是專案的所有者(Owner)只能為主帳號,且MaxCompute的很多許可權管理需要專案所有者才可以操作(例如專案層級Flag的設定、Package跨專案資源共用配置等),因此需要一個擁有超級管理員權限的RAM子帳號。
MaxCompute新增了內建的管理角色Super_Administrator,擁有專案內所有類型資源的全部許可權以及專案的管理類許可權,具體許可權說明請參見角色規劃。
Super_Administrator角色可以由專案所有者授權給RAM子帳號。RAM子帳號獲得該角色後,即可替代專案所有者對專案執行各種管理操作,包括常用的專案層級Flag設定以及所有資源許可權的管理。
設定方法
為RAM子帳號授予建立專案的許可權方法。請參見為RAM使用者授權DataWorks相關系統管理權限。
選定RAM子帳號後,使用該RAM子帳號建立專案。此時專案所有者依然是主帳號。
授權方式
通過MaxCompute用戶端(odpscmd)授權
假設主帳號使用者bob@aliyun.com是專案project_a的所有者,Allen是bob@aliyun.com中的RAM子帳號。
使用主帳號執行如下命令進行授權。
--開啟專案project_a。 USE project_a; --為專案project_a添加RAM子帳號Allen。 ADD USER ram$bob@aliyun.com:Allen; --為RAM子帳號Allen授權Super_Administrator角色許可權。 GRANT super_administrator TO ram$bob@aliyun.com:Allen; --為RAM子帳號Allen授權Admin角色許可權。 GRANT admin TO ram$bob@aliyun.com:Allen;使用被授權RAM子帳號執行如下命令查看帳號自身許可權。如果傳回值中有Super_Administrator角色則說明賦權成功。
SHOW GRANTS;
通過DataWorks授權
(可選)添加RAM子帳號為專案成員。如果RAM子帳號已經為專案成員,可以忽略此步驟。
登入DataWorks控制台,在左上方選擇地區。
在左側導覽列選擇工作空间。
在工作空间列表頁面,單擊目標工作空間名稱。
在空间详情頁面,單擊左側導覽列空间成员与角色。
在空间成员頁簽,單擊新增成員。
在新增成員對話方塊中,從待添加帳號列表中選擇需要添加的組織成員顯示在已添加帳號列表中。
勾選為帳號設定的角色,並單擊確認,完成成員添加。
為RAM子帳號授權Super_Administrator角色。
在空间详情頁面,單擊左側導覽列空间成员与角色。
在空间成员頁簽,在目標成員的角色列選擇空間管理員,完成帳號授權。
使用被授權RAM子帳號執行如下命令查看帳號自身許可權。如果傳回值中有Super_Administrator角色則說明賦權成功。
SHOW GRANTS;
通過MaxCompute控制台授權
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇。
在项目管理頁面,單擊目標專案操作列的管理。
在项目配置頁面,選擇角色权限頁簽。
選擇
super_administrator角色,單擊對應操作列的成员管理。在成员管理對話方塊,勾選要添加的RAM子帳號,然後單擊確定,完成帳號授權。
使用被授權RAM子帳號執行如下命令查看帳號自身許可權。如果傳回值中有Super_Administrator角色則說明賦權成功。
SHOW GRANTS;
使用說明
成員管理
建議明確該RAM子帳號持有人的責任,一個RAM子帳號對應一個開發人員,避免帳號共用,以便更好地保障資料安全。
一個專案中只能為一個RAM子帳號指派Super_Administrator角色。可以為其他需要具備基本系統管理權限的帳號賦予Admin角色許可權。
MaxCompute支援雲帳號(主帳號)和RAM子帳號。為了更好地保障資料安全,建議專案中添加的成員均為此專案所有者的RAM子帳號。
主帳號可以控制RAM子帳號,在人員轉崗、離職等情境下主帳號可以登出或更新對應的RAM子帳號以保證資料安全。
說明如果通過DataWorks進行專案成員管理,只能添加專案所有者的RAM子帳號作為專案成員。
RAM子帳號只能通過主帳號添加。即使擁有Super_Administrator角色的超級管理員,也需要主帳號先建立RAM子帳號後,才可以將建立成功的RAM子帳號添加到專案中。
建議只添加需要在當前專案進行資料開發(即會在當前專案執行作業)的使用者為專案成員。對於有資料互動業務需求的使用者,通過Package方式進行跨專案資源共用,避免將過多使用者添加至專案內而增加了成員管理的複雜度。
員工轉崗或離職,需要先將其持有的RAM子帳號在專案中移除,然後再通知專案所有者登出RAM子帳號。如果是擁有Super_Administrator角色的RAM子帳號持有人轉崗或離職,則需要由主帳號執行移除、登出帳號操作。
許可權管理
建議通過角色進行許可權管理,即許可權和角色(Role)關聯,角色(Role)和使用者(User)關聯。
建議實施最小夠用原則,避免許可權過大造成安全隱患。
跨專案使用資料時,建議通過Package方式實現,避免資源提供方增加成員管理成本,只需要管理Package即可。
說明擁有Super_Administrator角色的RAM子帳號本身已經擁有專案所有資源的查詢和操作許可權,所以無須再給自身授權。
許可權審計
可以通過MaxCompute的中繼資料服務提供的視圖進行許可權審計。詳情請參見中繼資料視圖列表。
成本管理
關於成本管理,請參見查看賬單詳情。對於RAM子帳號,需要主帳號給RAM子帳號賦予費用中心相關許可權才可以進行賬單資料的查詢。授權方法請參見為RAM角色授權,要求的權限如下:
AliyunBSSFullAccess:管理費用中心的許可權。
AliyunBSSReadOnlyAccess:費用中心的訪問、唯讀許可權。
AliyunBSSOrderAccess:費用中心查看訂單、支付訂單及取消訂單的許可權。
說明費用中心相關許可權與MaxCompute專案的Super_Administrator角色無關聯,需要單獨授予給使用者。
資源使用管理
如果使用MaxCompute訂用帳戶計算資源,則可以通過MaxCompute管理主控台對已經使用的計算資源進行查看、對所有計算資源進行管理。詳情請參見資源觀測和計算資源-Quota管理。
如果使用MaxCompute隨用隨付計算資源,則可以通過MaxCompute的中繼資料服務提供的相關視圖對已經使用的計算資源進行查看。例如, TASKS_HISTORY可以查看詳細的審計作業執行情況,包括時間、Job內容、資源消耗等資訊,詳情請參見TASKS_HISTORY。
說明中繼資料服務提供的視圖只保留最近15天的資料。如果需要更長時間的資料,建議您定期自行讀取資料並儲存。