如果當前阿里雲帳號要操作或訪問其他阿里雲帳號的專案(例如,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扮演該角色訪問相關被授權的資源。
建立RAM角色。
建立角色,詳情請參見建立可信實體為阿里雲帳號的RAM角色。
說明此處建立的RAM角色,是用於帳號A可扮演該角色在帳號B中訪問帳號B的DataWorks。若後續該RAM角色需要通過帳號A訪問帳號A的DataWorks,則需重新定義RAM角色策略。詳情請參見定義RAM角色策略。

角色關鍵配置樣本如下:
信任主體類型:雲帳號。
信任主體名稱:其他雲帳號。此處填寫的是帳號A的帳號ID。您可使用目標帳號(帳號A)登入控制台,滑鼠移至上方至頂部功能表列的帳戶圖片,擷取帳號ID。
角色名稱:testRole。
配置完成後,帳號A後續即可扮演testRole角色,訪問相關被授權的資源。
修改角色信任策略。
角色建立完成後,在角色的信任策略頁簽,單擊編輯信任策略,將策略內容更新為以下內容,以允許帳號 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
使用帳號B進入目標MaxCompute專案。
您可通過MaxCompute控制台提供SQL分析功能,快速進入MaxCompute專案。
更多串連工具,詳情請參見選擇串連工具。
添加RAM角色至MaxCompute專案。
將步驟一建立的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。
根據需要為角色進行授權。授權操作,詳情請參見授權操作。
說明您可根據跨帳號添加的資料來源在A工作空間的使用情境,提前為RAM角色授權與相關許可權,例如,若要在A工作空間查詢B工作空間資料源下的表,需確保資料來源配置的RAM角色已擁有該表的SELECT許可權。
情境二:授權訪問 Hologres
修改角色權限原則(僅Hologres)
在帳號 B 的 RAM 控制台,建立自訂權限原則,授予訪問 Hologres 執行個體所需的基礎許可權,策略內容如下:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "hologram:GetInstance", "hologram:DescribeInstance", "hologram:ListDatabases", "hologram:ListWarehouses", "hologram:ListInstances" ], "Resource": "*" } ] }並將該策略授權給testRole角色,參見:為RAM角色授權。
添加RAM角色至Hologres資料庫。
在 Hologres 中添加角色並授權 使用帳號 B 登入 Hologres 管理主控台,進入目標執行個體的 HoloWeb 介面。
在資訊安全中心 > 使用者管理頁面,添加已建立的 RAM 角色為資料庫使用者。

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

詳情參考文檔 RAM使用者權限授權快速入門。
步驟二:帳號A使用帳號B的使用者資訊建立資料來源
進入資料來源頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入管理中心。
進入工作空間管理中心頁面後,單擊左側導覽列的資料來源,進入資料來源頁面。
單擊新增資料來源,並選擇對應的資料來源類型(MaxCompute 或 Hologres)。
在資料來源配置頁面,填寫以下關鍵資訊:
所屬雲帳號:其他阿里雲主帳號。
地區:MaxCompute專案或Hologres執行個體所在地區。
對方阿里雲主帳號UID:填寫帳號 B 的 UID。
對方MaxCompute專案/Hologres 執行個體:填寫帳號 B 中目標資源的具體名稱或 ID。
對方RAM角色:填寫在帳號 B 中建立的 RAM 角色名稱,例如 testRole。
配置資源群組連通性。
根據需要選擇合適資源群組,並測試連通性。網路連通配置參見:串連不同主帳號資料來源。

單擊完成建立,即完成跨帳號建立資料來源。
後續步驟
資料來源建立後,您可執行如下操作:
基於該資料來源進行Data Integration同步操作。詳情請參見Data Integration。
進入資料地圖,查看資料來源的更多詳細資料。詳情請參見資料地圖。