This topic describes how to configure Resource Access Management (RAM) authorization for data migration or synchronization from a user-created database in a virtual private cloud (VPC) across different Alibaba Cloud accounts. After authorization, Data Transmission Service (DTS) can read data from a VPC that belongs to another Alibaba Cloud account when you configure data migration or synchronization. You can migrate or synchronize data from a user-created database that is connected over Express Connect across different Alibaba Cloud accounts.

Prerequisites

The Alibaba Cloud account to which the Express Connect circuit belongs has authorized the RAM role of DTS to access the cloud resources of the account. For more information, see Authorize DTS to access Alibaba Cloud resources.

Background information

An on-premises database or a database hosted on a third-party cloud is connected to Alibaba Cloud VPC over Express Connect, VPN Gateway, or Smart Access Gateway. You need to migrate data from the on-premises database or the database hosted on the third-party cloud to an ApsaraDB RDS instance across different Alibaba Cloud accounts. The following figure shows the architecture for this scenario.

Note Before you can use DTS to migrate or synchronize data from a user-created database in a VPC cross different Alibaba Cloud accounts, you must perform the following steps: Configure RAM authorization for the Alibaba Cloud account to which the Express Connect circuit belongs (Account A), specify the Alibaba Cloud account to which the destination instance belongs (Account B) as a trusted account, and then authorize Account B to access the cloud resources of Account A.
Background information

Step 1: Create a RAM role and grant the default permission on DTS to the role

  1. Log on to the RAM console with the Alibaba Cloud account to which the Express Connect circuit belongs.
  2. In the left-side navigation pane, click RAM Roles.
  3. Click Create RAM Role, select Alibaba Cloud Account, and then click Next.
  4. In the Create RAM Role panel, configure parameters for the RAM role.
    Configure parameters for the RAM role
    Parameter Description
    RAM Role Name Specify a name for the RAM role. In this example, enter ram-for-dts.
    Note The name must be 1 to 64 characters in length and can contain letters, digits, and hyphens (-).
    Note Optional. Specify the description for the RAM role.
    Select Trusted Alibaba Cloud Account Select Other Alibaba Cloud Account and enter the ID of the Alibaba Cloud account to which the destination instance belongs.
    Note To obtain the ID of the Alibaba Cloud account to which the destination instance belongs, you must log on to the Account Management console with this account. The account ID is displayed on the Security Settings page.
    Obtain the ID of the Alibaba Cloud account
  5. Click OK.
  6. Click Input and Attach.
  7. In the Add Permissions panel, select System Policy and enter AliyunDTSRolePolicy in the Policy Name field.
    Grant permissions
  8. Click OK.
  9. Click Close.

Step 2: Authorize the RAM role to access the VPC under another Alibaba Cloud account

  1. Log on to the RAM console with the Alibaba Cloud account to which the Express Connect circuit belongs.
  2. In the left-side navigation pane, click RAM Roles.
  3. Find the RAM role created in Step 1, and click the role name.
    Click a RAM role name
  4. On the Basic Information page of the RAM role, click Add Permissions.
  5. In the Add Permissions panel, enter AliyunVPCReadOnlyAccess in the search box and click the policy name to move the policy to the Selected section.
    Grant permissions
  6. Click OK.
  7. On the Basic Information page of the RAM role, click the Trust Policy Management tab.
  8. Click Edit Trust Policy, and replace the policy text with the following sample statements.
    Modify the trust policy
    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "RAM": [
                        "acs:ram::<ID of the Alibaba Cloud account to which the destination instance belongs>:root"
                    ],
                    "Service": [
                        "<ID of the Alibaba Cloud account to which the destination instance belongs>@dts.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }
    Note To obtain the ID of the Alibaba Cloud account to which the destination instance belongs, you must log on to the Account Management console with this account. The account ID is displayed on the Security Settings page. Then, you must replace the <ID of the Alibaba Cloud account to which the destination instance belongs> in the preceding statements with the account ID.
    Obtain an Alibaba Cloud account ID

References