專案(Project)是MaxCompute的基主要組織單元,是進行多使用者隔離和存取控制的主要邊界。您開通MaxCompute服務後,需要通過專案使用MaxCompute。本文為您介紹如何通過MaxCompute控制台建立、管理MaxCompute專案。
前提條件
阿里雲帳號或RAM使用者已開通MaxCompute服務。
預設只有阿里雲帳號可以建立、配置和刪除專案以及變更專案狀態,如果您需要以RAM使用者管理MaxCompute專案,請確認已擷取RAM使用者帳號並已授予AliyunMaxComputeFullAccess系統策略或自訂RAM策略許可權。
更多建立或擷取RAM使用者資訊操作,請參見準備RAM使用者。
許可權說明
阿里雲帳號:擁有專案管理所有查看和操作許可權。
RAM使用者:
需將RAM使用者添加到專案中,在專案列表中才可見對應專案。
建立、刪除、修改專案的預設Quota和專案凍結、恢複操作需擷取RAM許可權,詳情請參見RAM許可權。
進入專案配置頁面,進行參數配置、角色許可權、Package管理操作需有專案的相關系統管理權限,內建角色Admin、Super_Administrator,自訂系統管理權限請參見專案管理類許可權一覽表。
注意事項
建立MaxCompute專案時,您需要注意:
使用阿里雲帳號建立MaxCompute專案後,您具備專案內所有內容的操作許可權。任何人未經授權無法訪問該專案。
對於RAM使用者建立的MaxCompute專案,RAM使用者和歸屬的阿里雲帳號同時具備專案內所有內容的操作許可權。其他人未經授權無法訪問該專案。
對於RAM使用者建立的MaxCompute專案,為方便管理,MaxCompute會預設賦予RAM使用者該專案的Super_Administrator角色。
建立專案
MaxCompute控制台建立的Project允許被各用戶端使用,DataWorks提供統一的全鏈路巨量資料開發治理平台,緊密的整合MaxCompute,其工作空間標準模式不支援綁定存量MaxCompute專案。推薦您直接通過DataWorks建立MaxCompute專案並進行使用,詳情請參見建立工作空間。
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇工作區 > 專案管理。
在專案管理頁面,單擊建立專案。
在建立專案對話方塊,根據介面提示配置參數。
如下參數需重點關注。
參數
說明
專案名稱
字母開頭,包含字母、數字以及底線(_),長度為3~28個字元,名稱全域唯一。
計算資源付費類型
預設計算Quota的計費類型。
預設Quota
用於實現計算資源分派。
不指定計算Quota的情況下,該專案發起的作業將消耗預設Quota資源。更多計算資源使用請參見計算資源-Quota使用。
單SQL消費限制
單SQL消費的最高閾值。
單位:掃描量(GB)*複雜度。非必填項,當選擇隨用隨付計費類型時建議設定,可以避免非預期的單SQL消費過高。同時也建議配置即時消費監控警示,多方位監控限制消費超出預期,詳情請參見消費監控警示消費控制。
資料類型
MaxCompute資料類型包含1.0資料類型、2.0資料類型和Hive相容類型。
您需要根據業務情況選擇合適的資料類型版本,三種資料類型版本的區別請參見資料類型版本說明。
是否加密
指定建立的MaxCompute專案是否需要開啟資料加密功能。更多資料加密資訊,請參見儲存加密。
當選擇需要加密時,需要選擇密鑰和對應演算法:
密鑰:專案空間使用的密鑰類型,包含預設密鑰(MaxCompute Default Key)和內建密鑰(BYOK)。預設密鑰(MaxCompute Default Key)是MaxCompute內部建立的預設密鑰。
演算法:密鑰支援的密碼編譯演算法,包含AES256、AESCTR和RC4。
單擊確定,完成建立專案。
設定項目
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇工作區 > 專案管理。
在專案管理頁面,單擊目標專案操作列的管理。
參數配置。
在專案配置頁面,單擊參數配置。
在參數配置頁簽,可配置如下參數。
參數分類
參數
說明
基礎資訊
預設計算Quota
可選擇更換專案綁定的預設計算Quota。
儲存量(GB)
查看專案當前儲存大小,此儲存量與計量口徑一致,即按Project採集壓縮後的邏輯儲存大小。
Data Transmission Service
可選擇更換專案繫結資料傳輸服務資源群組。
Default(Data Transmission Service共用資源組):該專案不允許使用Data Transmission Service(訂用帳戶)資源群組。不管開啟成預設Data Transmission Service資源群組取值是什麼,該專案預設提交的Data Transmission Service會自動使用Default資源群組。
開啟成預設Data Transmission Service資源群組
可選擇開啟或者關閉。
開啟:表示該專案預設提交的資料轉送任務會使用Data Transmission Service資源群組繫結資料傳輸服務資源群組。
關閉:表示該專案預設提交的資料轉送任務會使用Data Transmission Service共用資源組。
超級管理員
成員
查看或編輯專案的
super_administrator
角色成員,此處設定效果與角色許可權頁簽裡對super_administrator
角色的成員管理一致,只是此操作支援RAM許可權校正,即RAM使用者擁有UpdateUsersToSuperAdmin
許可權後即可在此設定專案的super_administrator
角色成員,詳情請參見RAM許可權。基礎屬性
允許分區表全表掃描
設定專案空間是否允許全表掃描,即為設定
odps.sql.allow.fullscan
屬性。全表掃描會佔用大量資源,為提升處理效率,不建議開啟該功能備份資料保留天數
設定專案空間備份資料的保留天數,即為設定
odps.timemachine.retention.days
屬性。在此期間,您可以將目前的版本恢複至任意一個備份的資料版本。取值範圍為[0,30],預設值為1,0代表關閉備份功能。
資料類型版本
可選擇專案的資料類型版本,包含1.0資料類型、2.0資料類型和Hive相容類型。
三種資料類型版本的區別請參見資料類型版本說明。
開啟decimal2.0
可選擇專案是否開啟MaxCompute 2.0的Decimal資料類型,即為設定
odps.sql.decimal.odps2
屬性。單SQL消費限制
設定單SQL消費的最高閾值,即為設定
odps.sql.metering.value.max
屬性,詳細內容請參見消費監控警示消費控制。單位:掃描量(GB)*複雜度。
儲存加密狀態
此專案前僅能查看,不可編輯,專案是否加密僅在建立專案時進行定義。
是否需配置生命週期
設定專案空間下的表是否需要配置生命週期,即為設定
odps.table.lifecycle
屬性,有如下取值。optional:建立表時,Lifecycle子句為可選設定,如果不設定表的生命週期,則該表永久有效。
mandatory:Lifecycle子句為必選設定,使用者必須設定表的生命週期。
inherit:建立表時,如果不設定表的生命週期,則該表的生命週期為odps.table.lifecycle.value的值,odps.table.lifecycle.value屬性設定表的生命週期,單位為:天。取值範圍為
1~37231
,預設值為37231。
專案時區
選擇專案空間的時區,即為設定
odps.sql.timezone
屬性。許可權屬性
使用ACL授權
設定是否使用ACL許可權控制功能,即為設定
CheckPermissionUsingACL
屬性,預設為使用狀態。使用Policy授權
設定是否使用Policy許可權控制功能,即為設定
CheckPermissionUsingACL
屬性,預設為使用狀態。允許對象建立者操作對象
設定是否允許對象建立者擁有對象的存取權限,即為設定
ObjectCreatorHasAccessPermission
屬性。預設為允許狀態。允許對象建立者授權對象
設定是否允許對象建立者擁有對象的授權許可權,即為設定
ObjectCreatorHasGrantPermission
屬性。預設為允許狀態。啟動Label存取控制
設定是否使用Label許可權控制功能,即設定
LabelSecurity
屬性,預設為不使用狀態。專案空間資料保護
設定是否開啟專案的資料保護機制,即設定
ProjectProtection
屬性,禁止或允許資料流出專案。如選擇開啟專案空間資料保護,還允許設定例外或受信任專案,詳情請參見資料保護機制。
開啟Download許可權
設定是否開啟Download許可權控制功能,即設定
odps.security.enabledownloadprivilege
屬性。IP白名單
公網和雲產品互連網絡IP
設定公網和雲產品互連網絡下的IP白名單,僅允許白名單內的裝置訪問專案空間。
說明如果只配置公網和雲產品互連網絡IP白名單,則公網和雲產品互連網絡訪問受配置限制,VPC網路訪問全部禁止。
VPC網路IP
設定VPC網路下的IP白名單,僅允許白名單內的裝置訪問專案空間。
說明如果只配置VPC網路IP白名單,則VPC網路訪問受配置限制,公網和雲產品互連網絡訪問全部禁止。
MaxCompute外部網路
可用的MaxCompute外部網路地址
可添加或刪除需要訪問的目標公網IP或網域名稱、連接埠。詳情請參見訪問公網方案。
角色管理。
在角色許可權頁簽,可對專案進行角色許可權管理,包含角色增、刪、改以及將角色授權給使用者。
說明預設只有阿里雲帳號有許可權對專案進行角色管理,如果您需要以RAM使用者身份進行,需要擁有對應專案的系統管理權限角色。
在專案配置頁面,單擊角色許可權。
在角色許可權頁簽,單擊新增專案層級角色。
在建立角色對話方塊,請根據介面提示建立角色並授權。
支援建立管理類(Admin)角色和資源操作類(Resource)角色。需重點關注授權方式參數,角色授權支援ACL和Policy兩種方式,各類對象對應的許可權說明請參見MaxCompute許可權。
ACL:支援對Resource類型角色大量新增多個Project對象進行授權。
說明提交的時候注意不要關閉進度條或頁面,否則授權將會被中斷。
Policy:主要解決ACL授權機制無法解決的Admin類型許可權以及Resource類型許可權對一些複雜授權情境,如一次操作對一組對象進行授權(所有表或以xxx為開頭的表等,用萬用字元
*
表達),或進行帶限制條件的授權。Policy授權樣本。
支援所有管理類許可權的Admin角色。
{ "Statement":[ { "Action":[ "odps:*" ], "Effect":"Allow", "Resource":[ "acs:odps:*:projects/project_name/authorization/*" ] } ], "Version":"1" }
支援Project內所有
tmp
開頭的表查詢許可權的Resource角色。{ "Statement":[ { "Effect":"Allow", "Action":[ "odps:Describe", "odps:Select" ], "Resource":[ "acs:odps:*:projects/project_name/tables/tmp_*", "acs:odps:*:projects/project_name/schemas/*/tables/tmp_*" ] } ], "Version":"1" }
單擊確定,完成建立角色與授權。
其他相關操作。
查看角色。
在角色許可權的角色列表可以查看專案空間下所有的角色,包括內建的Super_Administrator和Admin。單擊目標角色操作列的編輯角色,可以查看指定角色的許可權。
說明如果角色是通過Policy方式建立可以正常顯示Policy的內容,如果角色是通過ACL方式建立,那麼會有可能因為Table、Resource、Function等對象過多無法展示,只能搜尋單個對象查看action是否有授權或通過執行
describe role <role_name>;
命令查看整個角色許可權內容。編輯角色許可權。
單擊目標角色操作列的編輯角色,ACL授權方式的角色,可以添加或移除某個對象的Action,或將某對象添加或移除,如果需要移除的對象沒在角色列表裡顯示,可通過命令進行編輯,詳情請參見專案層級角色授權。
說明如果MaxCompute專案與DataWorks工作空間關聯,則DataWorkd會給對應的專案初始化一些角色,這些角色有固定的許可權符合DataWorks的商務邏輯,不建議對這些角色進行更新。具體DataWorks初始化的角色請參見附錄:空間級預設角色與MaxCompute引擎許可權的映射關係。
當通過ACL方式已授權角色非常多的對象時,開啟編輯角色對話方塊可能會逾時,如果逾時,暫時只能通過命令查看和編輯該角色的ACL許可權。
查看角色成員。
單擊目標角色操作列的成員管理,在成員管理對話方塊可以查看角色成員、將角色賦予使用者或將使用者從角色裡移除(即收回賦予使用者的角色)。
刪除角色。
單擊目標角色操作列的刪除,即在MaxCompute專案中刪除已建立的角色。等同於執行
drop role <role_name>;
命令,詳情請參見角色規劃。啟用或禁用租戶層級角色。
在角色許可權頁簽,角色層級選擇租戶,單擊目標角色操作列的啟用或禁用。
說明涉及專案空間內的對象,需要在專案空間內進行啟用才生效。
配置Package。
MaxCompute跨專案訪問資源授權方式推薦使用Package,Package常用於只需分享Tables、Resources、Functions但不需要共用計算資源或無人員管理的資料許可權管理需求,Package主要分為資源分享方和資源訪問方,一個完整的通過Package進行跨專案授權訪問的步驟流程如下。
資源分享方分享。
在專案配置頁面,單擊建立Package。
在建立Package對話方塊,填寫package名稱和選擇要分享的Table、Resource、Function。
單擊確定,完成建立Package。
單擊Package操作列的允許專案。
在允許安裝此package的專案對話方塊,輸入可使用此Package的專案名稱。
單擊確定。
資源訪問方訪問。
在專案配置頁面,單擊安裝Package。
在安裝Package對話方塊,輸入要訪問的Package名稱。
單擊確定,便可以訪問Package。
(可選)將Package授權給角色,再將角色授權給使用者,詳情請參見角色管理。
專案成員查看。
MaxCompute的專案資料許可權管控要求將使用者(User)加入專案中進行授權。您可在專案配置頁面,單擊專案成員頁簽,查看專案內所有成員的相關許可權詳情。
變更專案狀態
MaxCompute專案支援變更狀態的操作有如下兩種操作。
凍結:即停止服務,專案將被禁用,無法運行作業,專案內資料也不能被查詢,但是資料將繼續保留,因此會產生儲存費用。凍結後的專案狀態為停服。
恢複:將停服狀態、預刪除狀態的專案恢複,恢複成功後專案狀態將為正常。
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇工作區 > 專案管理。
在專案管理頁面的專案列表,單擊目標專案操作列的凍結或恢複。
在確認對話方塊,單擊確定。
刪除專案
刪除專案時支援立即刪除,即徹底刪除,永久不可恢複。
專案立即刪除後,清理資料需要一定的時間,專案數量越大需要清理的時間越長。因此,若立即建立同名專案時報錯表示專案已存在,則需要稍後再重試。
需要注意專案刪除將導致如下後果:
立即刪除後,專案內所有表(資料)將立即被刪除,並且永久無法恢複。
所有向該MaxCompute專案提交的任務因專案不存在都將運行失敗。
如果MaxCompute專案已經綁定DataWorks工作空間,刪除MaxCompute專案後DataWorks工作空間將無法正常使用並不能恢複,請先訪問DataWorks進行解除綁定再刪除MaxCompute專案。
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇工作區 > 專案管理。
在專案管理頁面的專案列表,單擊目標專案操作列的刪除。
在刪除專案對話方塊,選擇刪除類型,單擊確定。
專案標籤管理
MaxCompute支援使用者為專案綁定或解除綁定標籤,標籤的詳細用法及使用限制請參見標籤概述。
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇工作區 > 專案管理。
建立標籤。
單個專案建立標籤。
將滑鼠懸浮於目標專案所在標籤列的表徵圖上,單擊綁定/編輯。
在編輯標籤對話方塊中,輸入標籤鍵和標籤值。
單擊確定,並在標籤編輯成功對話方塊中單擊關閉。
大量建立多重專案的標籤。
選中要大量新增標籤的專案,單擊頁面底部的批量打標。
在編輯標籤對話方塊中,輸入標籤鍵和標籤值。
單擊確定,並在標籤編輯成功對話方塊中單擊關閉。
標籤篩選。
專案綁定標籤後,您可以在標籤篩選下拉式清單中根據標籤的鍵和值篩選專案。
(可選)解除綁定標籤。
單個專案解除綁定標籤。
將滑鼠懸浮於目標專案後所在標籤列的表徵圖上,單擊編輯。
在編輯標籤對話方塊中,單擊要解除綁定標籤後方的表徵圖。
單擊確定,並在標籤編輯成功對話方塊中單擊關閉。
批量解除綁定多重專案的標籤。
選中要批量解除綁定標籤的專案,單擊頁面底部的大量刪除標籤。
在批量解除綁定標籤對話方塊中,選中需要解除綁定標籤左側的複選框。
單擊解除綁定x個標籤(x為具體的解除綁定標籤數),並在標籤編輯成功對話方塊中單擊關閉。