本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

跨帳號協同使用DMS

更新時間:2025-03-28 19:21

在DMS中,不同阿里雲帳號(主帳號)的資源相互隔離。如果您需要訪問其他主帳號在DMS中的資源,或者需要將自身主帳號的阿里雲資源錄入到其他主帳號的DMS中,則需要進行跨帳號訪問或錄入資源操作。本文為您介紹如何進行跨帳號訪問資源和錄入資源。

跨阿里雲帳號錄入執行個體

注意事項

  • 通過角色ARN錄入執行個體功能目前正在逐步灰階中,如果您有使用需求,請聯絡DMS支援人員。

  • 目前僅支援跨帳號錄入阿里雲執行個體。

  • 在進行跨帳號錄入執行個體操作時,DMS要求資源歸屬者必須登入過DMS

授權操作

說明

跨帳號錄入執行個體前,需要為跨帳號錄入執行個體的RAM使用者授予管理DMS資源、在DMS錄入的資料庫執行個體類型等許可權。

假設阿里雲帳號(主帳號)A需要錄入阿里雲帳號(主帳號)B的資源至A所在的DMS租戶,則阿里雲帳號(主帳號)B的RAM使用者(子帳號)需要在RAM控制台進行如下操作:

  1. 使用資源歸屬者B的阿里雲帳號(主帳號)下擁有AliyunRAMFullAccess許可權的RAM使用者(子帳號)登入RAM控制台

  2. 角色頁面,建立RAM角色並為使用者A設定信任策略。您可通過如下任一方式進行操作:

    方式一:可視化編輯
    方式二:指令碼編輯
    1. 建立角色頁面,單擊切換編輯器

      image

    2. 可視化編輯頁簽下,主體選擇雲端服務。配置項說明如下:

      • 其他雲帳號下方的文字框填入主帳號A的UID。

      • 雲端服務選擇資料管理/DMSEnterprise

        image

    3. 單擊確定

    1. 建立角色頁面,單擊切換編輯器

      image

    2. 指令碼編輯頁簽下,填入相關的策略。

      策略含義:為跨帳號錄入執行個體的使用者佈建信任策略,允許指定使用者管理資源。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "<主帳號A的UID>@dms.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
    3. 單擊確定

  3. 權限原則頁面,建立權限原則。例如DmsCrossAccountPolicy

    目前,在權限原則中支援設定的資料庫類型和接入方式(VPC專線)如下:RedisPolarDB分布式版、OceanBase、LindormHologresGDBSelectDB、ClickHouse企業版。

    單擊此處查看各資料庫的權限原則資訊。

    Redis
    PolarDB-X 1.0
    PolarDB-X 2.0
    OceanBase
    Lindorm
    Hologres
    GDB
    SelectDB
    ClickHouse企業版
    {
      "Statement": [
        {
          "Action": [
            "kvstore:DescribeSecurityIps",
            "kvstore:ModifySecurityIps",
            "kvstore:DescribeRegions",
            "kvstore:DescribeInstances",
            "kvstore:DescribeInstanceAttribute",
            "kvstore:DescribeInstanceConfig"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "drds:DescribeDrdsInstances",
            "drds:QueryInstanceInfoByConn",
            "drds:DescribeDrdsInstanceList",
            "drds:DescribeDrdsDBIpWhiteList",
            "drds:ModifyDrdsIpWhiteList",
            "drds:DescribeDrdsInstanceVersion"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "polardbx:DescribeDBInstances",
            "polardbx:DescribeSecurityIps",
            "polardbx:ModifySecurityIps",
            "polardbx:DescribeDBInstanceAttribute",
            "polardbx:DescribeDBInstanceViaEndpoint"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "oceanbase:DescribeAllTenantsConnectionInfo",
            "oceanbase:DescribeInstances"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "lindorm:GetLindormInstanceList",
            "lindorm:GetLindormInstance",
            "lindorm:GetLindormInstanceListForDMS",
            "lindorm:GetLindormInstanceForDMS",
            "lindorm:GetLindormInstanceForDMSByConnStr",
            "lindorm:GetInstanceIpWhiteList",
            "lindorm:UpdateInstanceIpWhiteList"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "hologram:GetInstance",
            "hologram:ListInstances"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "gdb:DescribeDbInstances"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "selectdb:DescribeDBInstances",
            "selectdb:DescribeDBInstanceAttribute",
            "selectdb:DescribeDBInstanceNetInfo",
            "selectdb:DescribeSecurityIPList",
            "selectdb:ModifySecurityIPList"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
    {
      "Statement": [
        {
          "Action": [
            "clickhouse:DescribeDBClusters",
            "clickhouse:DescribeDBInstances",
            "clickhouse:DescribeDBInstanceAttribute",
            "clickhouse:DescribeEndpoints",
            "clickhouse:DescribeSecurityIPList",
            "clickhouse:ModifySecurityIPList"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }

    樣本策略含義:指定在DMS通過VPC專線錄入資料庫。

    {
      "Statement": [
        {
          "Action": [
            "vpc:DescribeVpcs"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }
  4. 角色頁面,為步驟2中建立的角色授予DmsCrossAccountPolicy許可權。更多資訊,請參見為RAM角色授權

  5. 角色頁面,單擊角色名稱,在角色詳情頁面複製ARN

    image

錄入執行個體

使用者A在錄入資料庫時,填入角色ARN。

說明

通過角色ARN錄入執行個體的方式正在灰階中。

image

跨阿里雲帳號訪問執行個體資源

說明

如果您需要跨阿里雲帳號訪問DMS中的執行個體資源,請根據如下內容進行操作。

前提條件

訪問資源的使用者A與資源歸屬者B所屬的阿里雲帳號(主帳號)不同,且歸屬者B在DMS內有對應的租戶。

授予訪問者許可權

  1. 使用資源歸屬者的阿里雲帳號(主帳號)B下擁有AliyunRAMFullAccess許可權的RAM使用者(子帳號)登入RAM控制台

  2. 角色頁面建立RAM角色

    說明

    其他雲帳號參數地區填入需要訪問資源的阿里雲帳號(主帳號)UID。

    image

  3. 角色頁面,為步驟2中建立的角色授予AliyunDMSLoginConsoleAccess(登入DMS控制台)許可權。更多資訊,請參見為RAM角色授權

訪問DMS資源

  1. 使用阿里雲帳號(主帳號)A下擁有AliyunSTSAssumeRoleAccess許可權的RAM使用者(子帳號)登入阿里雲控制台

  2. 單擊右上方的頭像,切換身份資訊。

    image

  3. 輸入資源歸屬者B的阿里雲帳號(主帳號)UID,以及建立的角色名稱。

    image

  4. 單擊提交

  5. 完成身份切換後,再訪問Data Management 5.0

    說明

    當您訪問DMS時,DMS會自動將您設定為普通使用者。如需對執行個體資源進行變更、匯出操作,需要您在DMS額外申請資源許可權

相關文檔

雲資料庫錄入

  • 本頁導讀 (1, M)
  • 跨阿里雲帳號錄入執行個體
  • 注意事項
  • 授權操作
  • 錄入執行個體
  • 跨阿里雲帳號訪問執行個體資源
  • 前提條件
  • 授予訪問者許可權
  • 訪問DMS資源
  • 相關文檔
文檔反饋