本文介紹在使用Data Transmission Service配置跨阿里雲帳號的任務時,如何為資料庫執行個體所屬的阿里雲帳號配置RAM授權。
若您無需瞭解背景資訊,可直接根據跨阿里雲帳號任務的使用情境(是否跨阿里雲帳號選擇為跨帳號的資料庫執行個體)配置RAM授權。更多資訊,請參見情境一:源庫跨帳號、情境二:目標庫跨帳號、情境三:源庫和目標庫均跨帳號。
背景資訊
在使用DTS配置跨帳號(是否跨阿里雲帳號選擇為跨帳號)的任務前,您需要進行相應的RAM授權操作,以將建立DTS任務的阿里雲帳號(主帳號)作為授信雲帳號,從而允許其通過Data Transmission Service訪問資料庫執行個體所屬阿里雲帳號的相關雲資源。
什麼是跨帳號任務
跨帳號任務又稱為跨阿里雲帳號任務,指的是源庫或目標庫執行個體屬於其他阿里雲帳號(而不屬於建立DTS任務的阿里雲帳號)的DTS任務。
跨帳號任務的情境
對於建立DTS任務(登入DTS控制台)的阿里雲帳號而言,跨帳號任務涉及三種不同的情境:
源庫跨帳號
源庫是否跨阿里雲帳號選擇跨帳號,且目標庫是否跨阿里雲帳號選擇不跨帳號。
目標庫跨帳號
源庫是否跨阿里雲帳號選擇不跨帳號,且目標庫是否跨阿里雲帳號選擇跨帳號。
源庫和目標庫均跨帳號
源庫和目標庫的是否跨阿里雲帳號均選擇跨帳號。
支援跨帳號訪問的資料庫
資料庫執行個體是否支援跨帳號訪問,僅與資料執行個體的資料庫類型和接入方式有關。支援跨帳號的資料庫執行個體,如下表所示。
源庫是否跨阿里雲帳號的配置結果,不影響目標庫資料庫類型的選項。
源庫
資料庫類型 | 接入方式 |
MySQL | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
PolarDB for MySQL | 雲執行個體 |
Tair/Redis | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫、Cloud Enterprise NetworkCEN、資料庫網關DG |
SQLServer | 雲執行個體、專線/VPN網關/智能網關 |
PostgreSQL | 雲執行個體、專線/VPN網關/智能網關 |
MongoDB | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫、Cloud Enterprise NetworkCEN |
Oracle | 專線/VPN網關/智能網關 |
PolarDB(相容Oracle) | 雲執行個體、專線/VPN網關/智能網關 |
PolarDB for PostgreSQL | 雲執行個體 |
PolarDB-X 1.0 | 雲執行個體 |
PolarDB-X 2.0 | 雲執行個體 |
DB2 iSeries(AS/400) | 專線/VPN網關/智能網關 |
DB2 LUW | 專線/VPN網關/智能網關、ECS自建資料庫 |
Mariadb | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
OceanBase(MySQL) | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
SLS | 雲執行個體 |
AnalyticDB MySQL 3.0 | 雲執行個體 |
Kafka | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
目標庫
資料庫類型 | 接入方式 |
MySQL | 雲執行個體 |
PolarDB for MySQL | 雲執行個體 |
AnalyticDB MySQL 3.0 | 雲執行個體 |
Tair/Redis | 雲執行個體 |
ClickHouse | 雲執行個體 |
SelectDB | 雲執行個體 |
MongoDB | 雲執行個體 |
帳號資訊
在跨帳號任務中,各阿里雲帳號(源庫、目標庫、DTS任務所屬的阿里雲帳號)的用途與跨阿里雲帳號的資料庫相關,存在以下三種情況。
跨阿里雲帳號的資料庫:配置DTS任務時,是否跨阿里雲帳號選擇為跨帳號的資料庫。可作為判斷跨阿里雲帳號任務情境的依據。
表格使用樣本:首先需要確認跨帳號的是源庫還是目標庫,然後通過跨阿里雲帳號的資料庫列尋找目標行,查看各階段使用到的阿里雲帳號。
跨阿里雲帳號的資料庫 | 登入RAM控制台的阿里雲帳號 | 信任策略中填入的阿里雲帳號 | 建立DTS任務的阿里雲帳號 | DTS任務填入的跨阿里雲帳號 |
源庫 | 源庫所屬的阿里雲帳號 | 目標庫所屬的阿里雲帳號 | 目標庫所屬的阿里雲帳號 | 源庫資訊:跨阿里雲帳號填入源庫所屬的阿里雲帳號 |
目標庫 | 目標庫所屬的阿里雲帳號 | 源庫所屬的阿里雲帳號 | 源庫所屬的阿里雲帳號 | 目標庫資訊:跨阿里雲帳號填入目標庫所屬的阿里雲帳號 |
源庫和目標庫 | 源庫和目標庫所屬的阿里雲帳號 | 指定的阿里雲帳號 | 指定的阿里雲帳號 |
|
配置流程
確認跨阿里雲帳號任務的情境。
根據是否跨阿里雲帳號選擇為跨帳號的資料庫執行個體,判斷跨阿里雲帳號任務的使用情境。
擷取阿里雲帳號(主帳號)ID。
擷取資料庫執行個體和建立DTS任務的阿里雲帳號(主帳號)ID。
建立RAM角色。
使用資料庫執行個體所屬的阿里雲帳號(主帳號),建立配置任務所需的RAM角色。
精確授權。
為建立好的RAM角色精確授權。
修改信任策略。
修改RAM角色的信任策略。
前提條件
資料庫執行個體所屬的阿里雲帳號已授予DTS訪問雲資源的許可權。
注意事項
當前僅RDS MySQL執行個體間、PolarDB MySQL版叢集間、Tair(企業版)執行個體間、ApsaraDB for MongoDB(複本集架構)間、ApsaraDB for MongoDB(分區叢集架構)間,支援跨帳號的雙向同步任務。
跨帳號的雙向同步任務,同時屬於源庫跨帳號和目標庫跨帳號的情境。因此,源庫和目標庫所屬的阿里雲帳號(主帳號)均需配置RAM授權。
暫不支援不同屬性帳號之間(如金融雲和政務雲帳號之間)的同步任務。
登入控制台時,使用的阿里雲帳號均為阿里雲帳號(主帳號)。若使用RAM使用者(子帳號),則可能會在建立DTS任務時提示授權不正確。
準備工作
擷取源庫所屬阿里雲帳號(主帳號)ID
使用源庫所屬的阿里雲帳號(主帳號),訪問安全設定頁面,擷取帳號ID。
擷取目標庫所屬阿里雲帳號(主帳號)ID
使用目標庫所屬的阿里雲帳號(主帳號),訪問安全設定頁面,擷取帳號ID。
擷取建立DTS任務的阿里雲帳號(主帳號)ID
使用建立DTS任務的阿里雲帳號(主帳號),訪問安全設定頁面,擷取帳號ID。
情境一:源庫跨帳號
步驟一:建立RAM角色
使用源庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,單擊建立角色。
在建立角色面板,配置RAM角色資訊。
將信任主體類型選擇為雲帳號。
將信任主體名稱選擇為其他雲帳號,並在文字框填入目標庫所屬阿里雲帳號(主帳號)的ID。
在頁面下方,單擊確定。
在建立角色面板,填入RAM角色名稱單擊確定。
本樣本填入ram-for-dts。
步驟二:為RAM角色精確授權
通過RAM角色建立成功頁面
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用源庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
步驟三:修改RAM角色的信任策略
通過精確授權成功頁面
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為目標庫所屬阿里雲帳號(主帳號)的ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為目標庫所屬阿里雲帳號ID,而您配置的是源庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用源庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為目標庫所屬阿里雲帳號(主帳號)的ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為目標庫所屬阿里雲帳號ID,而您配置的是源庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
情境二:目標庫跨帳號
步驟一:建立RAM角色
使用目標庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,單擊建立角色。
在建立角色面板,配置RAM角色資訊。
將信任主體類型選擇為雲帳號。
將信任主體名稱選擇為其他雲帳號,並在文字框填入源庫庫所屬阿里雲帳號(主帳號)的ID。
在頁面下方,單擊確定。
在建立角色面板,填入RAM角色名稱單擊確定。
本樣本填入ram-for-dts。
步驟二:為RAM角色精確授權
通過RAM角色建立成功頁面
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用目標庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
步驟三:修改RAM角色的信任策略
通過精確授權成功頁面
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為源庫所屬阿里雲帳號(主帳號)的ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為源庫所屬阿里雲帳號ID,而您配置的是目標庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用目標庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為源庫所屬阿里雲帳號(主帳號)的ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為源庫所屬阿里雲帳號ID,而您配置的是目標庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
情境三:源庫和目標庫均跨帳號
步驟一:使用源庫所屬的阿里雲帳號(主帳號)配置RAM授權
建立RAM角色。
使用源庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,單擊建立角色。
在建立角色面板,配置RAM角色資訊。
將信任主體類型選擇為雲帳號。
將信任主體名稱選擇為其他雲帳號,並在文字框填入指定的建立DTS任務的阿里雲帳號(主帳號)ID。
在頁面下方,單擊確定。
在建立角色面板,填入RAM角色名稱單擊確定。
本樣本填入ram-for-dts。
為RAM角色精確授權。
通過RAM角色建立成功頁面
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用源庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
修改RAM角色的信任策略。
通過精確授權成功頁面
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為指定的建立DTS任務的阿里雲帳號(主帳號)ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為建立DTS任務的阿里雲帳號ID,而您配置的是源庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用源庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為指定的建立DTS任務的阿里雲帳號(主帳號)ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為建立DTS任務的阿里雲帳號ID,而您配置的是源庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
步驟二:使用目標庫所屬的阿里雲帳號(主帳號)配置RAM授權
建立RAM角色。
使用目標庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,單擊建立角色。
在建立角色面板,配置RAM角色資訊。
將信任主體類型選擇為雲帳號。
將信任主體名稱選擇為其他雲帳號,並在文字框填入指定的建立DTS任務的阿里雲帳號(主帳號)ID。
在頁面下方,單擊確定。
在建立角色面板,填入RAM角色名稱單擊確定。
本樣本填入ram-for-dts。
為RAM角色精確授權。
通過RAM角色建立成功頁面
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用目標庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
在許可權管理頁簽,單擊精確授權。
在精確授權面板,將策略類型選擇為系統策略。
在策略名稱稱文字框,填入AliyunDTSRolePolicy。
單擊確定。
您可以在許可權管理頁簽中的右側,單擊
按鈕以重新整理頁面,查看是否精確授權成功。
修改RAM角色的信任策略。
通過精確授權成功頁面
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為指定的建立DTS任務的阿里雲帳號(主帳號)ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為建立DTS任務的阿里雲帳號ID,而您配置的是目標庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
通過RAM角色列表
進入RAM角色的詳情頁面。
使用目標庫所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇
。重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,尋找並單擊目標RAM角色。
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在指令碼編輯頁簽,使用下述代碼替換策略框中的代碼。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為指定的建立DTS任務的阿里雲帳號(主帳號)ID。單擊確定,儲存信任策略。
若儲存信任策略後,代碼中Service部分的
"<阿里雲帳號ID>@dts.aliyuncs.com"
自動變更為"dts.aliyuncs.com"
,則表示<阿里雲帳號ID>
配置錯誤(需配置為建立DTS任務的阿里雲帳號ID,而您配置的是目標庫所屬阿里雲帳號ID)。說明登入RAM控制台和信任策略中替換的阿里雲帳號,請參見帳號資訊。
後續操作
完成RAM授權後,您可以建立跨阿里雲帳號的任務。具體操作,請參見配置跨阿里雲帳號的任務。