全部產品
Search
文件中心

:通過控制台系統管理使用者許可權

更新時間:Sep 06, 2024

MaxCompute支援使用者在MaxCompute控制台通過角色為RAM帳號(RAM使用者、RAM角色)授予相應的MaxCompute許可權。本文為您介紹各類許可權的授權操作步驟與樣本。

專案級管理類許可權授權

MaxCompute專案級管理類許可權主要包括進行專案安全配置、專案級使用者與角色許可權管理、Package管理、Label許可權管控、清理到期許可權等,更多資訊請參見專案管理類許可權一覽表

操作步驟

  1. 登入MaxCompute控制台,在左上方選擇地區。

  2. 在左側導覽列選擇工作區 > 專案管理

  3. 專案管理頁面,單擊目標專案操作列的管理

  4. 角色許可權頁簽,您可以建立管理類(Admin)角色或修改已有的管理類(Admin)角色許可權。

    說明

    預設只有阿里雲帳號(主帳號)有許可權對專案進行角色管理,如果您需要以RAM帳號(RAM使用者/RAM角色)進行,需要擁有對應專案的系統管理權限角色。

    • 建立管理類(Admin)角色

      1. 專案配置頁面,單擊角色許可權

      2. 角色許可權頁簽,單擊新增專案層級角色

      3. 建立角色對話方塊,建立管理類(Admin)角色,填寫Policy授權策略。

      4. 單擊確定,完成建立角色與授權。

    • 修改已有的管理類(Admin)角色許可權

      1. 專案配置頁面,單擊角色許可權

      2. 角色許可權頁簽,單擊目標角色操作列的編輯角色,進行Policy授權策略修改。

      3. 單擊確定,完成已有角色權限原則修改。

    相關Action及Resource取值請參見專案管理類許可權一覽表。本文檔依據管理模組提供部分Policy授權樣本。

  5. 單擊目標角色操作列的成員管理,在成員管理對話方塊可以查看角色成員、將角色賦予使用者或將使用者從角色裡移除(即收回賦予使用者的角色)。

Policy樣本

說明
  • 同一模組的管理類許可權一般會涉及多類操作及多類資源許可權,因此樣本中大多使用萬用字元*表達,實現一次操作對一組對象進行授權。

  • 相關Action及Resource取值請參見專案管理類許可權一覽表

  • 需要將樣本中的project_name替換為待授權的MaxCompute專案名稱。

  • 支援角色管理類許可權的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樣本。

    {
      "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樣本。

    {
      "Statement":[
        {
          "Action":[
            "odps:*"
          ],
          "Effect":"Allow",
          "Resource":[
            "acs:odps:*:projects/project_name/authorization/configurations/*"
          ]
        }
      ],
      "Version":"1"
    }
  • 支援專案使用者管理的Policy樣本。

    {
      "Statement":[
        {
          "Action":[
            "odps:*"
          ],
          "Effect":"Allow",
          "Resource":[
            "acs:odps:*:projects/project_name/authorization/users"
          ]
        }
      ],
      "Version":"1"
    }
  • 支援所有管理類許可權的Policy樣本。

    {
      "Statement":[
        {
          "Action":[
            "odps:*"
          ],
          "Effect":"Allow",
          "Resource":[
            "acs:odps:*:projects/project_name/authorization/*"
          ]
        }
      ],
      "Version":"1"
    }

專案級對象操作許可權授權

專案級對象操作許可權主要包括對專案(Project)、表(Table)、函數(Function)、資源(Resource)等專案及專案內對象的操作許可權,如CreateTable、CreateInstacne、SelectTable等。更多資訊請參見專案及專案內對象許可權一覽表

操作步驟

  1. 登入MaxCompute控制台,在左上方選擇地區。

  2. 在左側導覽列選擇工作區 > 專案管理

  3. 專案管理頁面,單擊目標專案操作列的管理

  4. 角色許可權頁簽,您可以建立資源操作類(Resource)角色或修改已有的資源操作類(Resource)角色許可權。

    說明

    預設只有阿里雲帳號有許可權對專案進行角色管理,如果您需要以RAM帳號(RAM使用者/RAM角色)操作,需要擁有對應專案的系統管理權限角色。

    • 建立資源操作類(Resource)角色

      1. 專案配置頁面,單擊角色許可權

      2. 角色許可權頁簽,單擊新增專案層級角色

      3. 建立角色對話方塊,建立資源操作類(Resource)角色,進行ACL授權或Policy授權策略填寫。

      4. 單擊確定,完成建立角色與授權。

    • 修改已有的資源操作類(Resource)角色許可權

      1. 專案配置頁面,單擊角色許可權

      2. 角色許可權頁簽,單擊目標角色操作列的編輯角色,進行ACL授權或Policy授權策略修改。

      3. 單擊確定,完成已有角色權限原則修改。

    相關許可權請參見專案及專案內對象許可權一覽表。本文檔提供控制台ACL及Policy授權樣本,詳情請參見專案級管理類許可權授權

  5. 單擊目標角色操作列的成員管理,在成員管理對話方塊可以查看角色成員、將角色賦予使用者或將使用者從角色裡移除(即收回賦予使用者的角色)。

授權樣本

說明
  • 樣本一:通過ACL方式為資源操作類(Resource)角色授予在專案(Project)中建立表(CreateTable)、建立執行個體(CreateInstance)、查看專案所有類型的對象列表(List)、讀取所有表(Table)的元資訊(Describe)和表資料(Select)的許可權。

    • 授予在專案中建立表、建立執行個體以及查看所有對象列表許可權。在專案中建立表

    • 授予讀取所有表的元資訊(Describe)和表資料(Select)的許可權。表的授權

    說明

    提交的時候請不要關閉進度條或頁面,否則授權將會中斷。

  • 樣本二:通過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角色系統管理權限較大(具體許可權請參見角色規劃),請謹慎操作。租戶層級角色資訊請參見租戶層級角色授權

  1. 登入MaxCompute控制台,在左上方選擇地區。

  2. 在左側導覽列選擇租戶管理 > 使用者管理

  3. 使用者管理頁面,單擊待授權使用者操作列的修改角色,在編輯角色對話方塊選擇相應角色授予。

租戶層級對象操作許可權授權

租戶層級對象操作許可權包括對租戶級對象Quota和網路連接(Networklink)的操作。例如use quotaCreateNetworkLink等。租戶層級對象操作還包括實現一帳號管理多個Project對象,提升許可權管理的便捷性。更多租戶層級角色資訊請參見租戶層級角色授權

操作步驟

  1. 登入MaxCompute控制台,在左上方選擇地區。

  2. 在左側導覽列選擇租戶管理 > 角色管理

  3. 角色管理頁面,建立新的租戶級角色或管理已有自訂角色的許可權。

    說明

    僅阿里雲帳號或者具備租戶層級Super_Administrator和Admin角色的使用者可操作租戶層級許可權管理。

    • 新增租戶級角色

      1. 角色管理頁面,單擊新增角色

      2. 新增角色對話方塊,配置如下資訊。

        參數名稱

        說明

        角色名稱

        建立賬戶層級角色的名稱。在阿里雲帳號內唯一。命名需要滿足如下要求:以字母開頭。只能包含字母、底線(_)或數字。長度為6~64個字元。

        policy內容

        角色的權限原則。您可以直接在介面上根據原則範本編輯策略代碼。

      3. 單擊確定,完成建立租戶級角色與授權。

    • 修改已有的已有租戶級角色許可權

      1. 角色管理頁面,單擊目標角色操作列的許可權管理,修改Policy授權策略。

      2. 單擊確定,完成已有角色的權限原則修改。

  4. 使用者管理頁面,單擊待授權使用者操作列的修改角色,在編輯角色對話方塊選擇相應角色授予。

Policy樣本

說明
  • 樣本一:為租戶級角色授予所有Region下所有Quota的Usage操作及所有Networklinks的CreateNetworkLinkListExecute操作許可權。

    {
        "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_1project_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角色添加租戶角色,在角色許可權頁簽,角色層級選擇租戶,單擊目標角色操作列的啟用