全部產品
Search
文件中心

DataWorks:跨帳號授權(MaxCompute、Hologres)

更新時間:Nov 28, 2025

如果當前阿里雲帳號要操作或訪問其他阿里雲帳號的專案(例如,MaxCompute、Hologres),則需在當前阿里雲帳號中,將其他阿里雲帳號的專案建立為當前阿里雲帳號的資料來源,以此實現跨阿里雲帳號訪問資料。

使用限制

  • 跨帳號建立的資料來源不能用於資料開發和調度。如您需進行相關資料開發操作,請使用當前帳號建立資料來源。詳情請參見綁定MaxCompute計算資源綁定Hologres計算資源

  • 跨帳號建立資料來源時,僅支援通過RAM角色訪問的方式訪問對應的專案。

準備工作

  • 已建立阿里雲主帳號A、阿里雲主帳號B。建立帳號,詳情請參見註冊帳號

    • 阿里雲主帳號A:跨帳號建立資料來源的使用方,即“用帳號B的使用者資訊執行跨帳號建立資料來源”。

    • 阿里雲主帳號B:跨帳號建立資料來源的資源提供方,即“將本帳號的使用者資訊提供給帳號A,讓帳號A進行跨帳號建立資料來源”。

  • 帳號B中已準備好待共用的資料資源(例如,已建立MaxCompute專案或Hologres執行個體與資料庫)。

    • 情境一(訪問MaxCompute):阿里雲主帳號B已建立MaxCompute專案,作為跨帳號建立資料來源使用的目標專案。建立MaxCompute專案,詳情請參見建立MaxCompute專案

    • 情境二(訪問Hologres):阿里雲主帳號B已購買Hologres建立資料庫

步驟一:在帳號 B 中建立並授權 RAM 角色

建立RAM角色並建立信任關係

使用阿里雲帳號登入RAM控制台,建立RAM角色並添加帳號A為該角色信任的雲帳號,後續可使用帳號A扮演該角色訪問相關被授權的資源。

  1. 建立RAM角色。

    建立角色,詳情請參見建立可信實體為阿里雲帳號的RAM角色

    說明

    此處建立的RAM角色,是用於帳號A可扮演該角色在帳號B中訪問帳號B的DataWorks。若後續該RAM角色需要通過帳號A訪問帳號A的DataWorks,則需重新定義RAM角色策略。詳情請參見定義RAM角色策略

    image.png

    角色關鍵配置樣本如下:

    • 信任主體類型:雲帳號。

    • 信任主體名稱:其他雲帳號。此處填寫的是帳號A的帳號ID。您可使用目標帳號(帳號A)登入控制台,滑鼠移至上方至頂部功能表列的帳戶圖片,擷取帳號ID。

    • 角色名稱testRole

    配置完成後,帳號A後續即可扮演testRole角色,訪問相關被授權的資源。

  2. 修改角色信任策略。

    角色建立完成後,在角色的信任策略頁簽,單擊編輯信任策略,將策略內容更新為以下內容,以允許帳號 A 的 DataWorks 服務扮演此角色。詳情請參見修改RAM角色的信任策略

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "需要授權的主帳號A的uid@engine.dataworks.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

    將 帳號A的UID 替換為帳號 A 的實際 UID。

為RAM角色配置權限原則

情境一:授權訪問 MaxCompute

  1. 使用帳號B進入目標MaxCompute專案。

    您可通過MaxCompute控制台提供SQL分析功能,快速進入MaxCompute專案。

    更多串連工具,詳情請參見選擇串連工具

  2. 添加RAM角色至MaxCompute專案。

    1. 將步驟一建立的testRole角色添加至MaxCompute專案。SQL語句格式如下。

      -- 將RAM角色加入MaxCompute專案
      add user `RAM$<accout_name>:role/<RAM角色名稱>`;
      -- 查看空間下所有使用者
      list users;
      -- 查看RAM角色被授與權限
      show grants for `RAM$<accout_name>:role/<RAM角色名稱>`;

      參數說明如下:

      • <account_name>:整體需替換為帳號B的名稱。

      • <RAM角色名稱>:整體需替換為步驟一建立的角色名稱testRole

    2. 根據需要為角色進行授權。授權操作,詳情請參見授權操作

      說明

      您可根據跨帳號添加的資料來源在A工作空間的使用情境,提前為RAM角色授權與相關許可權,例如,若要在A工作空間查詢B工作空間資料源下的表,需確保資料來源配置的RAM角色已擁有該表的SELECT許可權。

情境二:授權訪問 Hologres

  1. 修改角色權限原則(僅Hologres)

    1. 在帳號 B 的 RAM 控制台,建立自訂權限原則,授予訪問 Hologres 執行個體所需的基礎許可權,策略內容如下:

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "hologram:GetInstance",
              "hologram:DescribeInstance",
              "hologram:ListDatabases",
              "hologram:ListWarehouses",
              "hologram:ListInstances"
            ],
            "Resource": "*"
          }
        ]
      }
    2. 並將該策略授權給testRole角色,參見:為RAM角色授權

  2. 添加RAM角色至Hologres資料庫。

    在 Hologres 中添加角色並授權 使用帳號 B 登入 Hologres 管理主控台,進入目標執行個體的 HoloWeb 介面。

    • 資訊安全中心 > 使用者管理頁面,添加已建立的 RAM 角色為資料庫使用者。

      PixPin_2025-11-24_16-51-58

    • 若該角色為普通使用者,需在資訊安全中心 > DB 授權頁面,為該使用者授予資料庫層級的操作許可權。

      PixPin_2025-11-24_16-42-08

    詳情參考文檔 RAM使用者權限授權快速入門

步驟二:帳號A使用帳號B的使用者資訊建立資料來源

  1. 進入資料來源頁面。

    1. 登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的更多 > 管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心

    2. 進入工作空間管理中心頁面後,單擊左側導覽列的資料來源,進入資料來源頁面。

  2. 單擊新增資料來源,並選擇對應的資料來源類型(MaxCompute 或 Hologres)。

  3. 在資料來源配置頁面,填寫以下關鍵資訊:

    • 所屬雲帳號:其他阿里雲主帳號。

    • 地區:MaxCompute專案或Hologres執行個體所在地區。

    • 對方阿里雲主帳號UID:填寫帳號 B 的 UID。

    • 對方MaxCompute專案/Hologres 執行個體:填寫帳號 B 中目標資源的具體名稱或 ID。

    • 對方RAM角色:填寫在帳號 B 中建立的 RAM 角色名稱,例如 testRole。

  4. 配置資源群組連通性。

    根據需要選擇合適資源群組,並測試連通性。網路連通配置參見:串連不同主帳號資料來源

    image.png

  5. 單擊完成建立,即完成跨帳號建立資料來源。

後續步驟

資料來源建立後,您可執行如下操作:

  • 基於該資料來源進行Data Integration同步操作。詳情請參見Data Integration

  • 進入資料地圖,查看資料來源的更多詳細資料。詳情請參見資料地圖