MaxCompute支援使用者在MaxCompute控制台通過角色為RAM帳號(RAM使用者、RAM角色)授予相應的MaxCompute許可權。本文介紹各類許可權的授權操作步驟與樣本。
專案級管理類許可權授權
MaxCompute專案級管理類許可權主要包括進行專案安全配置、專案級使用者與角色許可權管理、Package管理、Label許可權管控、清理到期許可權等,更多資訊請參見專案管理類許可權一覽表。
操作步驟
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇。
在项目管理頁面,單擊目標專案操作列的管理。
在项目配置頁面,選擇角色权限頁簽。
在角色权限頁簽,可以建立管理類(Admin)角色或修改已有的管理類(Admin)角色許可權。
說明預設只有阿里雲帳號(主帳號)對專案有角色系統管理權限,如果需要使用RAM帳號(RAM使用者/RAM角色)執行授權操作,需要擁有對應專案的系統管理權限。
建立管理類(Admin)角色
單擊新增项目级别角色,建立支援MaxCompute相關許可權的專案角色。
在彈出的新建角色對話方塊,根據介面提示文案設定項目資訊,單擊確定。
角色类型選擇Admin:管理類型角色,填寫Policy授權策略。
修改已有的管理類(Admin)角色許可權。
在角色权限頁簽,單擊目標角色操作列的修改授权,修改後單擊确认,完成已有角色權限原則修改。
相關Action及Resource取值請參見專案管理類許可權一覽表。本文檔依據管理模組提供部分Policy授權樣本。
選擇目標專案層級角色,單擊操作列的成员管理。在成员管理對話方塊可以查看角色成員、將角色賦予使用者或將使用者從角色裡移除(即收回賦予使用者的角色)。
Policy樣本
同一模組的管理類許可權一般會涉及多類操作及多類資源許可權,因此樣本中大多使用萬用字元
*表達,實現一次操作對一組對象進行授權。相關Action及Resource取值請參見專案管理類許可權一覽表。
需要將樣本中的
project_name替換為待授權的MaxCompute專案名稱。
支援角色管理類許可權的Policy樣本
支援角色管理類許可權的Policy樣本。
{
"Statement": [
{
"Action": [
"odps:*"
],
"Effect": "Allow",
"Resource": [
"acs:odps:*:projects/project_name/authorization/roles",
"acs:odps:*:projects/project_name/authorization/roles/*/*"
]
}
],
"Version": "1"
}支援Package管理類許可權的Policy樣本
支援Package管理類許可權的Policy樣本。
{
"Statement": [
{
"Action": [
"odps:*"
],
"Effect": "Allow",
"Resource": [
"acs:odps:*:projects/project_name/authorization/packages",
"acs:odps:*:projects/project_name/authorization/packages/*",
"acs:odps:*:projects/project_name/authorization/packages/*/*/*"
]
}
],
"Version": "1"
}在控制台進行Package管理依賴Project的list許可權,因此需要先授予執行人當前Project的list許可權,通過控制台的授權請參見專案級對象操作許可權授權;通過命令列授權請參見通過命令系統管理使用者許可權。
支援修改專案安全配置的系統管理權限Policy樣本
支援修改專案安全配置的系統管理權限Policy樣本。
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/configurations/*"
]
}
],
"Version":"1"
}支援專案使用者管理的Policy樣本
支援專案使用者管理的Policy樣本。
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/users"
]
}
],
"Version":"1"
}支援所有管理類許可權的Policy樣本
支援所有管理類許可權的Policy樣本。
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/*"
]
}
],
"Version":"1"
}專案級對象操作許可權授權
專案級對象操作許可權主要包括對專案(Project)、表(Table)、函數(Function)、資源(Resource)等專案及專案內對象的操作許可權,如CreateTable、CreateInstacne、SelectTable等。更多資訊請參見專案及專案內對象許可權一覽表。
操作步驟
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇。
在项目管理頁面,單擊目標專案操作列的管理。
在项目配置頁面,選擇角色权限頁簽。
可以建立資源操作類(Resource)角色或修改已有的資源操作類(Resource)角色許可權。
說明預設只有阿里雲帳號(主帳號)對專案有角色系統管理權限,如果需要使用RAM帳號(RAM使用者/RAM角色)執行授權操作,需要擁有對應專案的系統管理權限。
建立資源操作類(Resource)角色
單擊新增项目级别角色,建立支援MaxCompute相關許可權的專案角色。
在彈出的新建角色對話方塊,根據介面提示文案設定項目資訊,單擊確定。
角色类型選擇資源操作類(Resource)角色,再進行ACL授權或填寫Policy授權策略。
修改已有的資源操作類(Resource)角色許可權
在角色权限頁簽,單擊目標角色操作列的修改授权,修改ACL授權或Policy授權策略。
相關許可權請參見專案及專案內對象許可權一覽表。本文檔提供控制台ACL及Policy授權樣本,詳情請參見專案級管理類許可權授權。
選擇目標專案層級角色,單擊操作列的成员管理。在成员管理對話方塊可以查看角色成員、將角色賦予使用者或將使用者從角色裡移除(即收回賦予使用者的角色)。
授權樣本
專案級對象操作許可權的Action及Object請參見專案及專案內對象許可權一覽表。
需要將樣本中的
project_name替換為待授權的MaxCompute專案名稱。
ACL方式為資源操作類(Resource)角色授權
通過ACL方式為資源操作類(Resource)角色授予在專案(Project)中建立表(CreateTable)、建立執行個體(CreateInstance)、查看專案所有類型的對象列表(List)、讀取所有表(Table)的元資訊(Describe)和表資料(Select)的許可權。如圖所示:

提交的時候請不要關閉進度條或頁面,否則授權將會中斷。
Policy方式為資源操作類(Resource)角色
通過Policy方式為資源操作類(Resource)角色授予在專案(Project)中建立表(CreateTable)、建立執行個體(CreateInstance)、查看專案所有類型的對象列表(List)、讀取所有表(Table)的元資訊(Describe)和表資料(Select)的許可權。
{ "Statement": [{ "Action": ["odps:CreateTable","odps:CreateInstance","odps:List"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name"]}, { "Action": ["odps:Describe","odps:Select"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/tables/*"]}], "Version": "1"}通過Policy方式為資源操作類(Resource)角色授予在專案內所有tmp開頭的表(Table)的元資訊(Describe)和表查詢(Select),讀取、更新所有資源,讀取、更新所有函數的許可權,並禁止刪除所有表。
{ "Statement": [{ "Action": ["odps:Describe","odps:Select"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/tables/tmp_*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/resources/*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/functions/*"]}, { "Action": ["odps:Drop"], "Effect": "Deny", "Resource": ["acs:odps:*:projects/project_name/tables/*"]}], "Version": "1"}如果專案開啟了按Schema儲存(Schema操作),則需將策略修改為:
{ "Statement": [{ "Action": ["odps:Describe","odps:Select"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/schemas/*/tables/tmp_*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/schemas/*/resources/*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/schemas/*/functions/*"]}, { "Action": ["odps:Drop"], "Effect": "Deny", "Resource": ["acs:odps:*:projects/project_name/schemas/*/tables/*"]}], "Version": "1"}
租戶層級管理類許可權授權
租戶層級管理類許可權指租戶層級使用者與角色許可權管理,包括添加/刪除租戶使用者、建立/刪除租戶層級角色、查看租戶層級使用者/角色列表及許可權內容、將租戶層級角色授予使用者、取消使用者被授予的租戶層級角色、將租戶層級角色添加至專案、移出專案內的租戶層級角色等。
僅阿里雲帳號或者具備租戶層級Super_Administrator和Admin角色的使用者可操作租戶層級許可權管理。
若希望授予RAM帳號(RAM使用者/RAM角色)管理類許可權,僅支援通過阿里雲帳號賦予RAM帳號Super_Administrator和Admin角色以實現許可權授予。但租戶層級Super_Administrator和Admin角色系統管理權限較大(具體許可權請參見角色規劃),請謹慎操作。租戶層級角色資訊請參見租戶層級角色授權。
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇 。
在租户管理頁面,單擊用户管理頁簽。
在用户管理頁簽,單擊目標RAM使用者對應操作列的修改角色。
在彈出的编辑角色對話方塊,從待添加角色地區選取項目要為目前使用者配置的角色,並配置到已添加角色地區,單擊確定完成修改。
租戶層級對象操作許可權授權
租戶層級對象操作許可權包括對租戶級對象Quota和網路連接(Networklink)的操作。例如use quota、CreateNetworkLink等。租戶層級對象操作還包括實現一帳號管理多個Project對象,提升許可權管理的便捷性。更多租戶層級角色資訊請參見租戶層級角色授權。
操作步驟
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇 。
在租户管理頁面,單擊角色管理頁簽。
在角色管理頁面,建立新的租戶級角色或管理已有自訂角色的許可權。
說明僅阿里雲帳號或者具備租戶層級Super_Administrator和Admin角色的使用者可操作租戶層級許可權管理。
新增租戶級角色
在角色管理頁簽,單擊新增角色,在彈出的新增角色對話方塊,填寫自訂角色名称和policy内容,然後單擊確定完成建立。
參數名稱
說明
角色名稱
建立賬戶層級角色的名稱。在阿里雲帳號內唯一。命名需要滿足如下要求:以字母開頭。只能包含字母、底線(_)或數字。長度為6~64個字元。
policy內容
角色的權限原則。您可以直接在介面上根據原則範本編輯策略代碼。
修改已有的已有租戶級角色許可權
在角色管理頁簽,單擊目標角色操作列的权限管理,修改Policy授權策略。單擊確定,完成已有角色的權限原則修改。
在用户管理頁簽,單擊待授權使用者對應操作列的修改角色。
在彈出的编辑角色對話方塊,從待添加角色地區選取項目要為目前使用者配置的角色,並配置到已添加角色地區,單擊確定完成修改。
Policy樣本
樣本中使用萬用字元
*表達,實現一次操作對一組對象進行授權。具體的Action及Resource請參見租戶內對象許可權一覽表。
樣本一:為租戶級角色授予所有Region下所有Quota的Usage操作及所有Networklinks的
CreateNetworkLink、List和Execute操作許可權。{ "Statement":[ { "Action":[ "odps:Usage" ], "Effect":"Allow", "Resource":[ "acs:odps:*:regions/*/quotas/*" ] }, { "Action":[ "odps:CreateNetworkLink", "odps:List", "odps:Execute" ], "Effect":"Allow", "Resource":[ "acs:odps:*:networklinks/*" ] } ], "Version":"1" }樣本二:為租戶級角色授予MaxCompute專案
project_1和project_2的所有操作許可權。{ "Statement":[ { "Action":[ "odps:*" ], "Effect":"Allow", "Resource":[ "acs:odps:*:projects/project_1", "acs:odps:*:projects/project_1/*", "acs:odps:*:projects/project_2", "acs:odps:*:projects/project_2/*" ] } ], "Version":"1" }說明通過租戶層級角色對Project對象授權後,需要將對應的租戶級角色添加到Project中才會生效,因此需要Project的Owner或擁有Project Super_Administrator或Admin角色添加租戶角色,在角色許可權頁簽,角色層級選擇租戶,單擊目標角色操作列的啟用。