全部產品
Search
文件中心

Data Transmission Service:跨阿里雲帳號任務如何配置RAM授權

更新時間:Aug 31, 2024

本文介紹在使用Data Transmission Service配置跨阿里雲帳號的任務時,如何為源或目標庫執行個體所屬的阿里雲帳號配置RAM授權。

背景資訊

在使用DTS配置跨帳號任務時,需要使用資料庫執行個體所屬的阿里雲帳號(主帳號)配置RAM授權,將建立DTS任務的阿里雲帳號(主帳號)作為授信雲帳號,允許其通過Data Transmission Service訪問資料庫執行個體所屬阿里雲帳號的相關雲資源。

支援的資料庫

在配置DTS任務時,支援配置是否跨阿里雲帳號的資料庫如下表所示。

說明

源庫是否跨阿里雲帳號的配置結果,不影響目標庫資料庫類型的選項。

資料庫執行個體

阿里雲資料庫

自建資料庫

源庫

RDS MySQLRDS MariaDBRDS PostgreSQLRDS SQL ServerPolarDB-X 1.0PolarDB-X 2.0PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)PolarDB MySQL版KVStore for Redis雲原生記憶體資料庫TairApsaraDB for MongoDB、OceanBase(MySQL模式)。

  • 通過專線、VPN網關、智能網關接入的MySQL、Mariadb、PostgreSQL、PolarDB PostgreSQL版(相容Oracle)、Redis、MongoDB、Oracle、SQL Server、Db2 for LUWDb2 for i、OceanBase(MySQL模式)資料庫。

  • 通過ECS自建資料庫接入的自建MySQL、Mariadb、Redis、MongoDB、Db2 for LUW、OceanBase(MySQL模式)資料庫。

  • 通過雲企業網CEN接入的自建Redis、MongoDB資料庫。

  • 通過資料庫網關DG接入的自建Redis資料庫。

目標庫

RDS MySQLPolarDB MySQL版、雲資料庫SelectDB版、KVStore for Redis雲原生記憶體資料庫Tair雲資料庫ClickHouse

暫不支援。

前提條件

  • 源和目標庫執行個體所屬的阿里雲帳號已經授權DTS的RAM角色訪問其雲資源,詳情請參見授予DTS訪問雲資源的許可權

  • 已擷取源庫執行個體、目標庫執行個體和建立DTS任務的阿里雲帳號(主帳號)ID。您可以使用對應的阿里雲帳號(主帳號)登入安全設定頁面,擷取帳號ID

注意事項

  • 當前僅RDS MySQL執行個體間、雲原生記憶體資料庫Tair(含企業版的KVStore for Redis)執行個體間,支援跨帳號的雙向同步任務。

  • 暫不支援不同屬性帳號之間(如金融雲和政務雲帳號之間)的同步任務。

操作步驟

  1. 為資料庫執行個體建立RAM角色。

    說明
    • 若使用RAM使用者(子帳號)進行操作,則可能會在建立DTS任務時提示授權不正確。

    • DTS執行個體中無需跨阿里雲帳號(是否跨阿里雲帳號選擇為不跨帳號或者無該配置項)的資料庫執行個體不需要建立RAM角色。

    1. 使用資料庫執行個體所屬的阿里雲帳號(主帳號),登入RAM控制台

    2. 在左側導覽列,選擇身份管理 > 角色

      身份管理-角色-new-zh.jpg

      重要

      請勿選擇為身份管理 > 使用者,否則DTS將無法訪問資料庫執行個體並報錯。

    3. 角色頁面,單擊建立角色

    4. 建立角色面板,選擇可信實體類型為阿里雲帳號,然後單擊下一步建立角色

    5. 在彈出的對話方塊中,配置RAM角色資訊。信任帳號

      配置選項

      配置說明

      角色名稱

      填寫RAM角色名稱,本樣本填寫ram-for-dts

      說明

      可以填寫大寫英文、小寫英文、數字或虛線(-),長度不超過64個字元。

      備忘(可選)

      填寫RAM角色備忘資訊。

      選擇信任的雲帳號

      選擇為其他雲帳號,並填寫建立DTS任務的阿里雲帳號(主帳號)ID作為授信雲帳號。

    6. 單擊完成

  2. 為建立好的RAM角色精確授權。

    1. 單擊精確授權建立角色

    2. 許可權管理頁簽,單擊精確授權

      image

    3. 精確授權面板中,勾選選擇權限類別型系統策略

      image

    4. 輸入策略名稱稱下方的文字框中,輸入AliyunDTSRolePolicy

    5. 單擊確定

    6. 精確授權成功後,單擊關閉

  3. 修改信任策略。

    1. (可選)角色頁面,找到剛剛建立的RAM角色,單擊對應的RAM角色名稱。

      image

    2. 在RAM角色的基本資料頁面,單擊信任策略頁簽。

      image

    3. 信任策略頁簽中,單擊編輯信任策略

    4. 將下述代碼複製至策略框中。

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "acs:ram::<阿里雲帳號ID>:root"
                      ],
                      "Service": [
                          "<阿里雲帳號ID>@dts.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
    5. 將代碼中兩個<阿里雲帳號ID>替換為建立DTS任務的阿里雲帳號(主帳號)ID。

    6. 單擊儲存信任策略

後續操作

完成RAM授權後,您可以建立跨阿里雲帳號的任務。具體操作,請參見同步方案概覽遷移方案概覽訂閱者案概覽中的相關配置文檔。

重要
  • 您需要使用信任策略中配置的<阿里雲帳號ID>,登入控制台建立DTS任務。

  • 是否跨阿里雲帳號選擇為跨帳號跨阿里雲帳號填入資料庫執行個體所屬阿里雲帳號(主帳號)的UID;跨阿里雲帳號角色名稱填入資料庫執行個體所屬雲帳號配置的角色名稱(本樣本填寫準備工作中建立的ram-for-dts)。

常見問題

  • 如何在跨帳號任務中使用各阿里雲帳號?

    在跨帳號任務中,各阿里雲帳號的用途與跨阿里雲帳號的資料庫相關,存在以下三種情況。

    說明
    • 使用的阿里雲帳號均為阿里雲帳號(主帳號)。

    • 跨阿里雲帳號的資料庫:配置DTS任務時,是否跨阿里雲帳號選擇為跨帳號的資料庫。

    • 目前僅目標庫為RDS MySQL雲資料庫ClickHouse時,支援配置是否跨阿里雲帳號

    表格使用樣本:首先需要確認跨帳號的是源庫還是目標庫,然後通過跨阿里雲帳號的資料庫列尋找目標行,查看各階段使用到的阿里雲帳號。

    跨阿里雲帳號的資料庫

    登入RAM控制台的阿里雲帳號

    信任策略中填入的阿里雲帳號

    建立DTS任務的阿里雲帳號

    DTS任務填入的跨阿里雲帳號

    源庫

    源庫所屬的阿里雲帳號

    目標庫所屬的阿里雲帳號

    目標庫所屬的阿里雲帳號

    源庫資訊跨阿里雲帳號填入源庫所屬的阿里雲帳號

    目標庫

    目標庫所屬的阿里雲帳號

    源庫所屬的阿里雲帳號

    源庫所屬的阿里雲帳號

    目標庫資訊跨阿里雲帳號填入目標庫所屬的阿里雲帳號

    源庫和目標庫

    源庫和目標庫所屬的阿里雲帳號

    指定的阿里雲帳號

    指定的阿里雲帳號

    • 源庫資訊跨阿里雲帳號填入源庫所屬的阿里雲帳號

    • 目標庫資訊跨阿里雲帳號填入目標庫所屬的阿里雲帳號

  • 如何處理配置跨帳號任務時出現的報錯?

    以下為配置跨帳號任務時,出現的常見警示資訊及對應解決辦法:

    警示資訊

    解決辦法

    UID錯誤提示_zh

    您填寫的跨阿里雲帳號有誤,請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的UID是否填寫正確。更多資訊,請參見準備工作

    角色名稱錯誤

    image

    可能原因如下:

    • 您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的RAM角色名稱是否填寫正確。

    • RAM角色精確授權不正確:請使用資料庫執行個體所屬的阿里雲帳號(主帳號)進行授權操作。

    說明

    更多資訊,請參見準備工作

    RAM

    可能原因如下:

    • 您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的角色名稱是否填寫正確。

    • RAM角色未完成精確授權:請檢查RAM角色是否正確完成精確授權。

    • RAM角色未修改信任策略:請檢查RAM角色是否正確修改信任策略。

    說明

    請參考準備工作進行檢查。

    沒有許可權

    您填寫的跨阿里雲帳號角色名稱沒有精確授權,請為填寫的RAM角色精確授權後重新建立任務。以來源資料庫為例,授權操作請參見為已有RAM角色精確授權

    image

    您填寫的跨阿里雲帳號角色名稱有誤,請勿填寫DTS系統的預設角色AliyunDTSDefaultRole,請填寫在準備工作中建立的RAM角色。

為已有RAM角色精確授權

  1. 使用源執行個體所屬的阿里雲帳號(主帳號),登入RAM控制台

  2. 在左側導覽列,選擇身份管理 > 角色

  3. 建立角色右側輸入目標RAM角色並搜尋。

  4. 在目標行的操作列,單擊精確授權

  5. 添加許可權介面輸入策略名稱稱下方,輸入AliyunDTSRolePolicy

    說明

    選擇權限類別型預設選擇為系統策略

  6. 單擊確認