全部產品
Search
文件中心

:專案層級租戶資源存取控制

更新時間:Mar 27, 2026

本文介紹如何通過專案層級租戶資源存取控制功能,為MaxCompute的租戶級資源配置精細化的專案級存取權限

功能背景

MaxCompute可使用的資來源物件包括租戶對象專案層級對象

  • 租戶資來源物件:包括外部資料源、網路連接、自訂鏡像及配額組,這些許可權均由租用戶系統管理員通過RAM Policy控制。

  • 專案層級對象:使用者在專案中使用歸屬專案的對象,Schema、Table、Role、Instance、Resource、Function、View等,許可權由專案系統管理員通過MaxCompute內的授權方案控制。

租戶資來源物件可以跨專案使用,預設情況下並不檢查專案對租戶資來源物件的使用許可權。如果租戶資來源物件的管理者不希望某個專案使用其建立的對象,則可以通過開啟專案層級租戶資源存取控制來制定租戶資源和專案的授權關係。這是一種增強存取控制方案,使用者可以按需開啟。

使用說明

對於租戶對象是否有權被專案使用,以及在專案中使用租戶對象的許可權再分配,有如下兩種安全管理員模式,使用者可以按照安全管理能力要求決定是否開啟專案層級租戶資源存取控制。

重要
  • 所有的租戶資來源物件,一起受專案層級租戶資源存取控制開關的控制,開啟開關則會對所有租戶資源的所有對象進行許可權檢查。

  • 目前此功能僅提供預覽,暫不支援開啟。如有需要,可提交工單。

模式一:開啟專案層級租戶資源存取控制

  1. 租戶資源建立者可以通過設定資源與專案的掛載關係,指定哪些專案可以使用其建立的資源。

  2. 由專案系統管理員通過授權方案對專案內部的使用者授予使用資源的許可權。

開啟專案層級租戶資源存取控制,即可以指定某些專案是否能夠使用資源管理者的租戶對象。目前暫無租用戶系統管理員強制所有專案都開啟專案層級租戶資源存取控制的開關。

模式二:不開啟專案層級租戶資源存取控制

任何專案內有許可權運行任務的使用者,都可以使用任務相關的租戶資源。

即使租戶資源建立者設定了資源與專案的掛載關係,或專案系統管理員通過Policy授權方案對專案內部的使用者授予了資源的usage許可權,在未開啟專案層級租戶資源存取控制的情況下,這些存取控制配置都不會生效。租戶層級的Policy授權與該存取控制無關,仍然有效。

開啟專案層級租戶資源存取控制

開啟專案層級租戶資源存取控制,需要執行如下操作:

  1. 配置租戶對象與專案的掛載關係:

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

    2. 在左側導覽列,選擇設定物件(管理配置 > 配额(Quota)管理 、管理配置网络连接管理配置外部数据源管理配置镜像管理)。

    3. 單擊目標對象操作列的增强访问控制,選擇掛載的專案,完成掛載關係的配置。

  2. 掛載完成的租戶對象查看方法:

    1. 在左側導覽列選擇管理配置 > 项目管理,在项目管理頁面,單擊目標專案操作列的管理,進入該專案的專案配置頁面。

    2. 项目配置頁面,選擇参数配置頁簽。在权限属性地區,單擊编辑。單擊查看项目绑定租户资源,即可查看專案與網路連接、外部資料源、鏡像及配額組的綁定情況。

  3. 對於已掛載到專案上的租戶對象,進行Policy配置:

    1. 在左側導覽列選擇管理配置 > 项目管理,在项目管理頁面,單擊目標專案操作列的管理,進入該專案的專案配置頁面。

    2. 项目配置頁面,選擇角色权限頁簽。選擇目標專案層級角色,單擊操作列的编辑角色

    3. 编辑角色對話方塊中,選擇授权方式Policy

    4. Policy授权指令碼框中修改角色Policy。

      以計算Quota為例,專案project_a內配置使用者a可以使用Quota 500 CU的Policy如下:

      {
          "Statement":[
              {
                  "Action":[
                      "odps:Usage"
                  ],
                  "Effect":"Allow",
                  "Resource":[
                      "acs:odps:*:regions/*/quotas/500cu"
                  ]
              }
          ],
          "Version":"1"
      }

      使用者a具有project_a內租戶資源使用許可權後,才可以在開啟專案層級租戶資源存取控制模式下,進行使用者或角色層級的租戶資源使用許可權控制。

    5. 其他Policy配置,詳情請參見Policy許可權控制

查詢被專案使用的租戶資源

為了確認專案中是否有正在被使用的租戶資源,可以分不同情境進行查詢。

租戶資源

情境分類

查詢方法

配額組(Quota)

Project設定預設Quota。

MaxCompute控制台管理配置 > 项目管理列表中查看預設計算Quota。

作業層級指定Quota。

查看SQL運行前指定的運行參數中的計算Quota。

set odps.task.wlm.quota=<quotaname>;

Quota規則指定的專案和任務。

網路連接(Network_link)

外部表格訪問VPC中資料來源,使用了網路連接,且外部表格被查詢。

執行SHOW CREATE TABLE <external_table_name>;命令查看外部表格DDL中設定的網路連接:

TBLPROPERTIES('networklink'='<networklink_name>')

包含UDF的SQL,運行前指定網路連接,訪問VPC網路。

查看SQL運行前指定的運行參數中的網路連接:

set odps.session.networklink=<networklink_name>;

建立外部資料源時引用了網路連接。

MaxCompute控制台管理配置 > 外部数据源列表中查看網路連接。

Spark on MaxCompute任務使用了網路連接。

外部資料源(Foreign_Server)

建立External Schema時引用了外部資料源,且此External Schema中的表被查詢。

  1. 通過SHOW SCHEMAS;命令查看專案的Schema列表。

  2. 執行DESC SCHEMA <schema_name>;命令查看引用的外部資料源。

自訂鏡像

自訂鏡像被UDF引用

相關文檔

更多租戶資源的資訊請參見: