如果RAM提供的系统策略无法满足您的业务需求,您可以通过创建自定义策略实现精细化权限管理(例如实例或操作级别的授权)。

前提条件

已授予子账号访问云资源的权限,允许其访问当前云账号下的RDS、ECS等云资源,则子账号配置DTS的任务时,DTS可调用相关云资源信息。详情请参见授予DTS访问云资源的权限

背景信息

权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构

注意事项

  • 子账号暂不支持配置目标库为MaxCompute的数据同步作业,需要使用主账号完成配置。
  • 使用子账号配置DTS的任务时,如果数据库是数据库网关DG或云企业网CEN接入的,您还需要为子账号授予AliyunDGFullAccess(管理数据库网关DG的权限)或AliyunCENFullAccess(管理云企业网CEN的权限)权限。

步骤一:创建自定义权限策略

  1. 云账号登录RAM控制台
  2. 在左侧导航栏的权限管理菜单下,单击权限策略管理
  3. 单击新建权限策略
  4. 配置自定义策略信息。
    新建自定义策略
    配置 说明
    策略名称 建议填入具备业务意义的名称以便后续识别。
    备注(可选) 填入该策略的备注信息。
    配置模式 DTS仅支持脚本配置,此处选择为脚本配置
    策略内容 下拉选择系统已有的策略,将其导入至本策略中。
    说明 本案例介绍自定义策略,此选项无需配置。
    权限策略框 填入具体的权限策略信息,表格下方为您列出了一些常见的自定义权限策略供您参考。
    说明
    • 权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构
    • 当前支持资源(Resource)和操作(Action)级别的授权。

    常见的自定义权限策略:

    说明
    • 您需要根据业务需求,将下述代码中的DTS实例ID替换为真实的DTS实例ID。
    • 授予只读权限可以查询对应DTS实例的任务详情、任务配置等信息,不能进行变更操作;授予读写权限可以配置、管理对应的实例。
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:Describe*",
                "Resource": "acs:dts:*:*:instance/DTS实例ID"
            }
        ],
        "Version": "1"
    }
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:dts:*:*:instance/DTS实例ID",
                    "acs:dts:*:*:instance/DTS实例ID"
                ]
            }
        ],
        "Version": "1"
    }
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeSynchronizationJobStatus",
                    "dts:DescribeSynchronizationJobs"
                ],
                "Resource": "acs:dts:*:*:instance/DTS实例ID"
            }
        ],
        "Version": "1"
    }
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeSubscriptionInstances",
                    "dts:StartSynchronizationJob",
                    "dts:SuspendSynchronizationJob"
                ],
                "Resource": [
                    "acs:dts:*:*:instance/DTS实例ID",
                    "acs:dts:*:*:instance/DTS实例ID",
                    "acs:dts:*:*:instance/DTS实例ID"
     	    ]
            }
        ],
        "Version": "1"
    }
    • 示例1:单个实例的只读权限
    • 示例2:多个实例的读写权限
    • 示例3:查看单个数据同步实例配置
    • 示例4:启动或暂停多个数据同步实例
  5. 单击确定

步骤二:为RAM用户授权自定义策略

  1. 云账号登录RAM控制台
  2. 创建RAM用户
  3. 在左侧导航栏的人员管理菜单下,单击用户
  4. 用户登录名称/显示名称列表下,找到目标RAM用户。
  5. 单击添加权限
    添加授权
  6. 添加权限对话框中,配置授权信息。
    1. 选择权限为自定义权限策略
    2. 单击需要授权的自定义权限策略名称,将其添加到已选择区域框中。
      选择自定义策略
  7. 单击确定
  8. 单击完成

操作级别授权的常见场景

说明
  • 下表中的DescribeDTSIPDescribeSubscriptionInstancesDescribeSynchronizationJobs权限用于获取实例列表。因为RAM用户可能只有部分实例的权限,所以需要先获取实例列表,然后才能执行相关操作。
  • 如果需要为RAM用户授予配置数据迁移、同步或订阅的权限,您还需要为该用户配置并授权一个自定义策略,策略内容请参见授予DTS访问云资源的权限
  • 新版API接口
    功能 控制台操作 对应的权限策略
    购买实例 购买DTS实例 CreateDtsInstance
    数据迁移或同步 配置DTS迁移或同步任务 ConfigureDtsJob
    数据订阅 配置DTS订阅任务 ConfigureSubscription
    启动任务 启动DTS实例 StartDtsJob
    批量启动任务 批量启动DTS实例 StartDtsJobs
    订阅任务的消费组管理 新增订阅任务的消费组 CreateConsumerChannel
    查询订阅任务的消费组详情 DescribeConsumerChannel
    修改订阅任务的消费组详情 ModifyConsumerChannel
    删除订阅任务的消费组 DeleteConsumerChannel
    查询任务 查询一个DTS任务详情 DescribeDtsJobDetai
    查询DTS任务列表及各任务执行详情 DescribeDtsJobs
    修改DTS任务 修改DTS同步任务 ModifyDtsJob
    修改DTS订阅任务 ModifySubscription
    修改DTS任务名称 ModifyDtsJobName
    重置任务 重置DTS任务 ResetDtsJob
    暂停任务 暂停DTS任务 SuspendDtsJob
    批量暂停任务 批量暂停DTS任务 SuspendDtsJobs
    结束任务 结束DTS任务 StopDtsJob
    批量结束任务 批量结束DTS任务 StopDtsJobs
    释放实例 释放DTS实例 DeleteDtsJob
    批量释放实例 批量释放DTS实例 DeleteDtsJobs
    任务告警 创建或修改任务告警规则 CreateJobMonitorRule
    查询DTS任务告警规则 DescribeJobMonitorRule
    查询ETL任务 查询ETL任务详情 DescribeDtsEtlJobVersionInfo
    查询ETL任务日志 DescribeEtlJobLogs
  • 旧版API接口
    功能 控制台操作 对应的权限策略
    数据迁移 创建迁移任务 CreateMigrationJob
    展示迁移任务列表 DescribeMigrationJobs
    展示迁移任务详情

    DescribeMigrationJobs

    DescribeMigrationJobDetail

    DescribeMigrationJobStatus

    修改迁移任务名称

    DescribeMigrationJobs

    ModifyMigrationObject

    配置迁移任务

    DescribeMigrationJobs

    DescribeMigrationJobDetail

    DescribeMigrationJobStatus

    CreateMigrationJob

    查看预检查详情

    DescribeMigrationJobs

    DescribeMigrationJobStatus

    创建类似任务

    DescribeMigrationJobs

    DescribeMigrationJobDetail

    DescribeMigrationJobStatus

    CreateMigrationJob

    监控报警

    DescribeMigrationJobs

    DescribeMigrationJobAlert

    ConfigureMigrationJobAlert

    修改密码

    DescribeMigrationJobs

    DescribeMigrationJobDetail

    ModifyMigrationObject

    启动迁移任务

    DescribeMigrationJobs

    StartMigrationJob

    DescribeMigrationJobDetail

    暂停迁移任务

    DescribeMigrationJobs

    SuspendMigrationJob

    查看结构迁移详情

    DescribeMigrationJobs

    DescribeMigrationJobStatus

    查看全量数据迁移详情

    DescribeMigrationJobs

    DescribeMigrationJobStatus

    查看增量数据迁移详情

    DescribeMigrationJobs

    DescribeMigrationJobStatus

    查看全量或增量迁移性能

    DescribeMigrationJobs

    DescribeMigrationJobDetail

    查看任务日志

    DescribeMigrationJobs

    DescribeMigrationJobDetail

    数据订阅 创建订阅通道 CreateSubscriptionInstance
    展示订阅通道列表 DescribeSubscriptionInstances
    查看订阅通道详情

    DescribeSubscriptionInstances

    DescribeSubscriptionInstanceStatus

    修改订阅通道名称

    DescribeSubscriptionInstances

    ModifySubscriptionObject

    修改订阅对象

    DescribeSubscriptionInstances

    DescribeSubscriptionInstanceStatus

    ModifySubscriptionObject

    新增消费组

    DescribeSubscriptionInstances

    CreateConsumerGroup

    查看消费组

    DescribeSubscriptionInstances

    DescribeConsumerGroup

    修改消费组密码

    DescribeSubscriptionInstances

    ModifyConsumerGroupPassword

    删除消费组

    DescribeSubscriptionInstances

    DeleteConsumerGroup

    修改实例密码

    DescribeSubscriptionInstances

    DescribeSubscriptionInstanceStatus

    ModifySubscriptionObject

    释放订阅通道

    DescribeSubscriptionInstances

    DeleteSubscriptionInstance

    监控报警

    DescribeSubscriptionInstances

    DescribeSubscriptionInstanceAlert

    ConfigureSubscriptionInstanceAlert

    配置订阅通道

    DescribeSubscriptionInstances

    DescribeSubscriptionInstanceStatus

    ModifySubscriptionObject

    查看任务日志

    DescribeSubscriptionInstances

    DescribeSubscriptionInstanceStatus

    数据同步 创建同步作业 CreateSynchronizationJob
    展示同步作业列表 DescribeSynchronizationJobs
    查看同步作业详情

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    修改同步作业名称

    DescribeSynchronizationJobs

    ModifySynchronizationObject

    查看同步作业配置

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    查看同步对象

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    查看结构初始化和全量数据初始化状态

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    查看全量或增量同步性能

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    查看同步对象修改记录 DescribeSynchronizationJobs
    查看任务日志

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    配置同步作业

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    ModifySynchronizationObject

    启动同步

    DescribeSynchronizationJobs

    StartSynchronizationJob

    暂停同步

    DescribeSynchronizationJobs

    SuspendSynchronizationJob

    修改同步对象

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    ModifySynchronizationObject

    释放同步

    DescribeSynchronizationJobs

    DeleteSynchronizationJob

    结束同步

    DescribeSynchronizationJobs

    DeleteSynchronizationJob

    监控报警

    DescribeSynchronizationJobs

    DescribeSynchronizationJobAlert

    ConfigureSynchronizationJobAlert

    修改实例密码

    DescribeSynchronizationJobs

    DescribeSynchronizationJobStatus

    ModifySubscriptionObject

相关操作

常见问题

Q:为什么使用RAM用户登录DTS控制台会提示下述错误,而且不展示实例列表信息?RAM用户登录提示
A:由于RAM用户可能无权限或只有部分实例的权限,DTS控制台不会展示实例列表信息,您需要从RAM管理员处获取RAM用户有管理权限的DTS实例ID,然后在DTS控制台中搜索对应的实例ID进行管理。RAM登录后搜索实例