當 MaxCompute 專案需要多人協作時,非專案所有者(Project Owner)的使用者必須先被加入專案並授予相應許可權,才能操作專案中的表、資源、函數或作業。本文介紹 MaxCompute 支援的使用者管理操作。
背景資訊
建立 MaxCompute 專案後,除專案所有者或具備 MaxCompute 內建角色的使用者外,其他使用者未經授權無法訪問專案。若需其他使用者參與開發,需由專案所有者將使用者添加到專案中。
MaxCompute支援的使用者類型及操作如下。
|
使用者類別 |
使用者類型 |
操作 |
說明 |
操作人角色 |
操作入口 |
|
專案層級(Project) |
阿里雲帳號 |
將其他阿里雲帳號添加至MaxCompute專案中。 |
專案所有者(Project Owner)或具備MaxCompute內建角色的使用者。 |
||
|
刪除MaxCompute專案中已添加的阿里雲帳號。 |
|||||
|
RAM使用者 |
將MaxCompute專案歸屬的阿里雲帳號下的RAM使用者添加至MaxCompute專案中。 |
||||
|
刪除MaxCompute專案中已添加的RAM使用者。 |
|||||
|
RAM角色 |
將在RAM存取控制台上建立的RAM角色添加至MaxCompute專案中。 |
||||
|
刪除MaxCompute專案中已添加的RAM角色。 |
|||||
|
查看MaxCompute專案中已添加的使用者。 |
|||||
添加阿里雲帳號使用者(專案層級)
當專案的所有者需要對其他阿里雲帳號使用者授權時,需要先將該使用者添加到自己的專案中,只有添加到專案中的使用者才能夠被授權。
-
命令格式
add user ALIYUN$<account_id>; -
參數說明
參數名稱
是否必填
說明
account_id
是
指定阿里雲帳號的帳號。當租戶屬性 使用帳號ID 為開啟,則帳號使用ID,否則使用登入名稱。例如
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788)。 -
使用樣本
假設test_project_a專案中需要添加阿里雲帳號
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788) ,命令樣本如下。使用帳號ID為開啟
add user ALIYUN$5527xxxxxxxx5788;使用帳號ID為關閉
add user ALIYUN$odps_test_user@aliyun.com;
刪除阿里雲帳號使用者(專案層級)
當使用者離開MaxCompute專案團隊時,需要將使用者從專案中移除。使用者一旦從專案中被移除,該使用者將不再具備訪問該專案中任何資源的許可權。
-
命令格式
remove user ALIYUN$<account_id>; -
注意事項
-
移除一個使用者之前,如果該使用者已被賦予某些角色,則需要先收回該使用者的所有角色之後再執行移除操作。更多查看使用者被賦予的角色資訊,請參見查看許可權資訊。更多收回角色資訊,請參見收回賦予使用者的角色。
-
當一個使用者被移除後,與該使用者有關的授權仍然會被保留。一旦該使用者以後被再次添加到該專案時,該使用者的歷史授權存取權限將被重新啟用。如果需要徹底清除使用者的許可權資訊,請參見徹底清除被刪除使用者遺留的許可權資訊。
-
-
參數說明
參數名稱
是否必填
說明
account_id
是
指定阿里雲帳號的帳號。當租戶屬性使用帳號ID為開啟,則帳號使用ID,否則使用登入名稱。例如
5527xxxxxxxx5788或odps_test_user@aliyun.com。您可以通過MaxCompute用戶端執行
list users;命令擷取帳號標識。 -
使用樣本
-
樣本一:刪除test_project_a專案中已添加的阿里雲帳號
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788),假設阿里雲帳號未被授予任何角色,命令樣本如下。使用帳號ID為開啟
remove user ALIYUN$5527xxxxxxxx5788;使用帳號ID為關閉
remove user ALIYUN$odps_test_user@aliyun.com; -
樣本二:刪除test_project_a專案中已添加的阿里雲帳號
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788),假設阿里雲帳號已被授予Worker角色,命令樣本如下。使用帳號ID為開啟
--收回賦予使用者的角色。 revoke Worker from ALIYUN$5527xxxxxxxx5788; --刪除使用者。 remove user ALIYUN$5527xxxxxxxx5788;使用帳號ID為關閉
--收回賦予使用者的角色。 revoke Worker from ALIYUN$odps_test_user@aliyun.com; --刪除使用者。 remove user ALIYUN$odps_test_user@aliyun.com;
-
添加RAM使用者(專案層級)
當專案的所有者需要對其他RAM使用者授權時,需要先將該RAM使用者添加到自己的專案中,只有添加到專案中的RAM使用者才能夠被授權。
-
命令格式
add user RAM$[<account_id>:]<RAM使用者UID>; -
使用限制
-
MaxCompute只允許將阿里雲帳號自身的RAM使用者加入到專案中,不允許添加其他雲帳號的RAM使用者。如果需要將其他阿里雲帳號的RAM使用者添加到專案中,需要先將RAM歸屬的阿里雲帳號添加至專案中,再由添加的阿里雲帳號進入MaxCompute專案後添加RAM使用者。
-
在MaxCompute專案中添加RAM使用者時,需要MaxCompute專案支援RAM使用者體系,您可以通過
list accountproviders;命令查看MaxCompute專案是否支援RAM使用者體系。如果查詢結果中未出現RAM,可以執行add accountprovider ram;命令為MaxCompute專案添加RAM使用者體系。 -
當一個使用者被移除後,與該使用者有關的授權仍然會被保留。一旦該使用者以後被再次添加到該專案時,該使用者的歷史授權存取權限將被重新啟用。如果需要徹底清除使用者的許可權資訊,請參見徹底清除被刪除使用者遺留的許可權資訊。
-
-
注意事項
MaxCompute只能夠識別RAM的帳號體系,不能識別RAM的許可權體系。即阿里雲帳號可以將自身的任意RAM使用者加入MaxCompute的某一個專案中,但MaxCompute在對該RAM使用者做許可權驗證時,並不會考慮RAM中的許可權定義。
-
參數說明
參數名稱
是否必填
說明
account_id
否
指定RAM使用者所屬阿里雲帳號。當租戶屬性使用帳號ID為開啟,則帳號使用ID,否則使用登入名稱。例如
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788)。RAM使用者UID
是
指定RAM使用者的UID。
您可以登入RAM控制台,在左側導覽列選擇,並單擊目標使用者,即可在用户基本信息地區擷取到UID。
-
使用樣本
假設test_project_a專案中需要添加RAM使用者
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649),命令樣本如下。使用帳號ID為開啟
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;使用帳號ID為關閉
add user RAM$odps_test_user@aliyun.com:ram_test;
刪除RAM使用者(專案層級)
當RAM使用者離開MaxCompute專案團隊時,需要將使用者從專案中移除。使用者一旦從專案中被移除,該使用者將不再具備訪問該專案中任何資源的許可權。
-
命令格式
remove user RAM$[<account_id>:]<RAM使用者UID>; -
注意事項
-
對於已經被賦予角色的RAM使用者,在刪除RAM使用者前,請先解除賦予的角色後再刪除RAM使用者。否則,專案中會殘留RAM使用者資訊,查詢使用者時會顯示為
p4_xxxxxxxxxxxxxxxxxxxx且無法從專案中刪除,但不影響專案正常使用。更多查看使用者被賦予的角色資訊,請參見查看許可權資訊。更多收回角色資訊,請參見收回賦予使用者的角色。 -
當一個使用者被移除後,與該使用者有關的授權仍然會被保留。一旦該使用者以後被再次添加到該專案時,該使用者的歷史授權存取權限將被重新啟用。如果需要徹底清除使用者的許可權資訊,請參見徹底清除被刪除使用者遺留的許可權資訊。
-
-
參數說明
參數名稱
是否必填
說明
account_id
否
指定RAM使用者所屬阿里雲帳號。當租戶屬性使用帳號ID為開啟,則帳號使用ID,否則使用登入名稱。例如
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788)。RAM使用者UID
是
指定RAM使用者的UID。
您可以登入RAM控制台,在左側導覽列選擇,並單擊目標使用者,即可在用户基本信息地區擷取到UID。
-
使用樣本
-
樣本一:刪除test_project_a專案中已添加的RAM使用者
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649),假設RAM使用者未被授予任何角色。命令樣本如下。使用帳號ID為開啟
remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;使用帳號ID為關閉
remove user RAM$odps_test_user@aliyun.com:ram_test; -
樣本二:刪除test_project_a專案中已添加的RAM使用者
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649),假設RAM使用者已被授予Worker角色。命令樣本如下。使用帳號ID為開啟
--收回賦予使用者的角色。 revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649; --刪除使用者。 remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649; --如果不再需要RAM使用者,可刪除RAM使用者體系。 remove accountprovider ram;使用帳號ID為關閉
--收回賦予使用者的角色。 revoke Worker from RAM$odps_test_user@aliyun.com:ram_test; --刪除使用者。 remove user RAM$odps_test_user@aliyun.com:ram_test; --如果不再需要RAM使用者,可刪除RAM使用者體系。 remove accountprovider ram;
-
添加RAM角色(專案層級)
您可以通過RAM存取控制台建立RAM角色並修改RAM角色的權限原則,然後將RAM角色添加至MaxCompute專案。後續專案中的RAM使用者可以扮演該RAM角色執行操作。
與角色規劃不同的是,RAM角色為存取控制平台中的角色,非MaxCompute專案內的角色。更多使用RAM角色操作,請參見扮演RAM角色。
-
命令格式
add user `RAM$<account_id>:role/<RAM角色名稱>`; -
注意事項
命令中的
`,不可缺失。 -
參數說明
參數名稱
是否必填
說明
account_id
是
指定RAM角色所屬的阿里雲帳號。當租戶屬性使用帳號ID為開啟,則帳號使用ID,否則使用登入名稱。例如
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788)。RAM角色名稱
是
指定RAM角色名稱。
您可以登入RAM控制台,在左側導覽列選擇,即可在角色頁面擷取到RAM角色名稱。
-
使用樣本
假設test_project_a專案中需要添加RAM角色
ram_role,命令樣本如下。使用帳號ID為開啟
add user `RAM$5527xxxxxxxx5788:role/ram_role`;使用帳號ID為關閉
add user `RAM$odps_test_user@aliyun.com:role/ram_role`;
-
相關操作
由於後續涉及到需要在DataWorks上操作,在修改RAM角色的權限原則時,您需要把RAM角色同時授權給DataWorks服務,以便在DataWorks上能夠提交周期性調度作業至MaxCompute。
刪除RAM角色(專案層級)
刪除MaxCompute專案中已添加的RAM角色。
-
命令格式
remove user `RAM$<account_id>:role/<RAM角色名稱>`; -
注意事項
命令中的
`,不可缺失。 -
參數說明
參數名稱
是否必填
說明
account_id
是
指定RAM角色所屬的阿里雲帳號。當租戶屬性使用帳號ID為開啟,則帳號使用ID,否則使用登入名稱。例如
odps_test_user@aliyun.com(帳號ID:5527xxxxxxxx5788)。RAM角色名稱
是
指定RAM角色名稱。
您可以登入RAM控制台,在左側導覽列選擇,即可在角色頁面擷取到RAM角色名稱。
-
使用樣本
假設test_project_a專案中需要刪除RAM角色
ram_role,命令樣本如下。使用帳號ID為開啟
remove user `RAM$5527xxxxxxxx5788:role/ram_role`;使用帳號ID為關閉
remove user `RAM$odps_test_user@aliyun.com:role/ram_role`;
查看使用者列表(專案層級)
查看MaxCompute專案中已添加的使用者列表。
-
命令格式
list users; -
使用樣本
查看MaxCompute專案中已添加的使用者資訊。命令樣本如下。
list users;返回結果如下。
使用帳號ID為開啟
ALIYUN$5527xxxxxxxx5788 RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649 RAM$5527xxxxxxxx5788:role/ram_role使用帳號ID為關閉
ALIYUN$odps_test_user@aliyun.com RAM$odps_test_user@aliyun.com:ram_test RAM$odps_test_user@aliyun.com:role/ram_role
後續指引
完成使用者規劃後,您可以根據實際業務需要執行授權操作:通過命令系統管理使用者許可權。