跨阿里云账号传输专有网络下的自建数据库时如何配置RAM授权

更新时间:2025-03-03 10:15:34

通过本文介绍的方法配置RAM授权后,DTS可以在配置数据迁移或同步时读取其他阿里云账号下的专有网络,您可以将其他阿里云账号下通过专线接入的自建数据库迁移或同步至当前云账号下的云数据库中。

前提条件

  • 专线所属的阿里云账号已经授权DTSRAM角色访问其云资源,详情请参见授予DTS访问云资源的权限

  • 分别使用源库和目标库所属的阿里云账号(主账号),访问基本信息页面,在页面右侧获取账号ID

背景信息

本地IDC或第三方云已通过专线、VPN网关或智能接入网关接入至阿里云,现在需要将本地IDC或第三方云中的自建数据库通过专有网络传输至其他阿里云账号下的云数据库中。

重要

在使用DTS跨阿里云账号传输专有网络下的自建数据库之前,您需要在专线所属的阿里云账号中配置RAM授权,同时将目标实例所属的云账号(主账号)设置为授信云账号,然后授权其访问专线所属的阿里云账号相关云资源。

背景信息

注意事项

专有网络下(接入方式专线/VPN网关/智能网关)的自建数据库作为源库时支持跨阿里云账号,作为目标库时不支持。支持的数据库,请参见支持的数据库

步骤一:创建RAM角色并授予其DTS默认角色权限

  1. 使用专线所属的阿里云账号(主账号)登录RAM控制台

    重要

    若使用RAM用户(子账号),则可能会在创建DTS任务时提示授权不正确。

  2. 在左侧导航栏,选择身份管理 > 角色

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

    重要

    请勿选择为身份管理 > 用户,否则DTS将无法访问数据库实例并报错。

  3. 角色页面,单击创建角色

    image

  4. 创建角色面板,配置RAM角色信息。

    1. 信任主体类型选择为云账号

      1-1

    2. 信任主体名称选择为其他云账号,并在文本框填入源库库所属阿里云账号(主账号)的ID。

      2-1

    3. 在页面下方,单击确定

    4. 创建角色面板,填入RAM角色名称单击确定

      本示例填入ram-for-dts

      3-1

  5. 权限管理页签,单击精确授权

    image

  6. 精确授权面板,为RAM角色精确授权。

    1. 策略类型选择为系统策略

      4-1

    2. 策略名称文本框,填入AliyunDTSRolePolicy

    3. 单击确定

      您可以在权限管理页签中的右侧,单击image按钮以刷新页面,查看是否精确授权成功。

步骤二:授权RAM角色访问阿里云账号下的专有网络

  1. 使用专线所属的阿里云账号(主账号)登录RAM控制台

    重要

    若使用RAM用户(子账号),则可能会在创建DTS任务时提示授权不正确。

  2. 在左侧导航栏,选择身份管理 > 角色

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

    重要

    请勿选择为身份管理 > 用户,否则DTS将无法访问数据库实例并报错。

  3. 找到在步骤一中创建的RAM角色,单击对应的RAM角色名称。

  4. RAM角色新增授权。

    1. 权限管理页签,单击新增授权

    2. 新增授权面板,配置授权信息。

      1. 选择资源范围。

        本示例选择账号级别。更多信息,请参见RAM角色授权

      2. 权限策略区域的下拉框中,将策略类型选择权限为系统策略screenshot_2024-12-10_11-15-22

      3. 选择权限策略。

        在搜索框中填入AliyunVPCReadOnlyAccess进行搜索,然后单击该策略名称将其移动至已选择权限策略区域框。

      4. 单击确认新增授权

    3. 授权成功后,单击关闭

  5. 修改RAM角色的信任策略。

    1. 单击信任策略页签。

      image

    2. 信任策略页签,单击编辑信任策略

    3. 脚本编辑页签,使用下述代码替换策略框中的代码。

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "acs:ram::<阿里云账号ID>:root"
                      ],
                      "Service": [
                          "<阿里云账号ID>@dts.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
    4. 将代码中两个<阿里云账号ID>替换为目标库所属阿里云账号(主账号)的ID。

    5. 单击确定,保存信任策略。

      若保存信任策略后,代码中Service部分的 "<阿里云账号ID>@dts.aliyuncs.com"自动变更为"dts.aliyuncs.com",则表示<阿里云账号ID>配置错误。

      说明

      登录RAM控制台和信任策略中替换的阿里云账号,请参见账号信息

配置DTS任务

说明

本操作以同步任务为例,介绍DTS跨阿里云账号任务的配置步骤。

  1. 使用目标库所属的阿里云账号(主账号),进入源库及目标库配置页面。

    1. 进入目标地域的同步任务列表页面(二选一)。

      通过DTS控制台进入
      通过DMS控制台进入
      1. 登录数据传输服务DTS控制台

      2. 在左侧导航栏,单击数据同步

      3. 在页面左上角,选择同步实例所属地域。

      说明

      实际操作可能会因DMS的模式和布局不同,而有所差异。更多信息,请参见极简模式控制台自定义DMS界面布局与样式

      1. 登录DMS数据管理服务

      2. 在顶部菜单栏中,选择集成与开发 > 数据传输(DTS) > 数据同步

      3. 同步任务右侧,选择同步实例所属地域。

    2. 单击创建任务,进入任务配置页面。

  2. 配置源库信息。

    主要参数的配置方法,如下表所示:

    配置

    说明

    配置

    说明

    选择已有连接信息

    本示例无需配置。

    数据库类型

    根据实际情况选择。

    接入方式

    选择专线/VPN网关/智能网关

    实例地区

    根据实际情况选择。

    是否跨阿里云账号

    选择跨账号

    跨阿里云账号

    填入源库所属阿里云账号(主账号)的ID。

    跨阿里云账号角色名

    填入使用源库所属的阿里云账号(主账号)创建的RAM角色名称(即步骤一中创建的RAM角色名称)。

    已和源端数据库联通的VPC

    根据实际情况选择。

    说明

    若选择时报错,解决方案请参见常见报错

  3. 根据实际情况,参考相关配置文档,完成其他及后续配置。

  • 本页导读 (1)
  • 前提条件
  • 背景信息
  • 注意事项
  • 步骤一:创建RAM角色并授予其DTS默认角色权限
  • 步骤二:授权RAM角色访问阿里云账号下的专有网络
  • 配置DTS任务