数据传输自定义权限策略参考

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

前提条件

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

背景信息

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

注意事项

  • 子账号暂不支持配置目标库为MaxCompute的数据同步作业,需要使用主账号完成配置。

  • 使用子账号配置DTS的任务时,如果数据库是数据库网关DG或云企业网CEN接入的,您还需要为子账号授予AliyunDGFullAccess(管理数据库网关DG的权限)或AliyunCENFullAccess(管理云企业网CEN的权限)权限。

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

  1. 使用RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 权限策略

  3. 权限策略页面,单击创建权限策略

  4. 创建权限策略页面,单击脚本编辑页签。

  5. 在权限策略框中,填入具体的权限策略信息。

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

    • 当前支持资源(Resource)和操作(Action)级别的授权。

    • 您需要根据业务需求,将下述代码中的DTS实例ID替换为真实的DTS实例ID。

    • 授予只读权限可以查询对应DTS实例的任务详情、任务配置等信息,不能进行变更操作;授予读写权限可以配置、管理对应的实例。

    重要

    您需要确保自定义权限策略中有DescribeBasicConfigsDescribeDomainRegions两个内部接口的操作级别的权限。

    常见的自定义权限策略:

    示例1

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:Describe*",
                "Resource": "acs:dts:*:*:instance/DTS实例ID"
            }
        ],
        "Version": "1"
    }

    示例2

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:dts:*:*:instance/DTS实例ID",
                    "acs:dts:*:*:instance/DTS实例ID"
                ]
            }
        ],
        "Version": "1"
    }

    示例3

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeSynchronizationJobStatus",
                    "dts:DescribeSynchronizationJobs"
                ],
                "Resource": "acs:dts:*:*:instance/DTS实例ID"
            }
        ],
        "Version": "1"
    }

    示例4

    {
        "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:启动或暂停多个数据同步实例

  6. 单击继续编辑基本信息

  7. 输入权限策略名称备注

  8. 检查并优化权限策略内容。

    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。

      • 删除不必要的数组。

    • 可选:高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。

      • 收缩资源到更小范围。

      • 去重或合并语句。

  9. 单击确定

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

  1. 使用RAM管理员登录RAM控制台

  2. 创建RAM用户

  3. 在左侧导航栏,选择身份管理 > 用户

  4. 用户登录名称/显示名称列,找到目标RAM用户。

  5. 单击目标RAM用户操作列的添加权限

  6. 新增授权面板,为RAM用户添加权限。

    1. 选择资源范围。

    2. 权限策略区域的下拉框中,将策略类型选择权限为自定义策略

    3. 在文本框中输入在步骤一中创建的权限策略名称,进行搜索。

    4. 单击需要授权的自定义权限策略名称,将其添加到已选择权限策略区域框中。

  7. 单击确认新增授权

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

操作级别授权的常见场景

说明
  • 下表中的DescribeDTSIPDescribeSubscriptionInstancesDescribeSynchronizationJobs权限用于获取实例列表。因为RAM用户可能只有部分实例的权限,所以需要先获取实例列表,然后才能执行相关操作。

  • 如果需要为RAM用户授予配置数据迁移、同步或订阅的权限,您还需要为该用户配置并授权一个自定义策略,策略内容请参见授予DTS访问云资源的权限

  • 新版API接口

    功能

    控制台操作

    对应的权限策略

    购买实例

    购买DTS实例

    CreateDtsInstance

    数据迁移或同步

    配置DTS迁移或同步任务

    ConfigureDtsJob

    数据订阅

    配置DTS订阅任务

    ConfigureSubscription

    启动任务

    启动DTS实例

    StartDtsJob

    批量启动任务

    批量启动DTS实例

    StartDtsJobs

    订阅任务的消费组管理

    新增订阅任务的消费组

    CreateConsumerChannel

    查询订阅任务的消费组详情

    DescribeConsumerChannel

    修改订阅任务的消费组详情

    ModifyConsumerChannel

    删除订阅任务的消费组

    DeleteConsumerChannel

    查询任务

    查询一个DTS任务详情

    DescribeDtsJobDetail

    查询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

    网络设置

    查询DTS的IP地址

    DescribeDTSIP

相关操作

常见问题

Q:为什么使用RAM用户登录DTS控制台会提示下述错误,而且不展示实例列表信息?RAM用户登录提示

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