通过自定义策略授权子账号管理DTS
如果RAM提供的系统策略无法满足您的业务需求,您可以通过创建自定义策略实现精细化权限管理(例如实例或操作级别的授权)。
前提条件
已授予子账号访问云资源的权限,允许其访问当前云账号下的RDS、ECS等云资源,则子账号配置DTS的任务时,DTS可调用相关云资源信息。详情请参见授予DTS访问云资源的权限。
背景信息
权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构。
注意事项
- 子账号暂不支持配置目标库为MaxCompute的数据同步作业,需要使用主账号完成配置。
- 使用子账号配置DTS的任务时,如果数据库是数据库网关DG或云企业网CEN接入的,您还需要为子账号授予AliyunDGFullAccess(管理数据库网关DG的权限)或AliyunCENFullAccess(管理云企业网CEN的权限)权限。
步骤一:创建自定义权限策略
云账号登录RAM控制台。
在左侧导航栏的权限管理菜单下,单击权限策略管理。
单击新建权限策略。
配置自定义策略信息。
配置
说明
策略名称
建议填入具备业务意义的名称以便后续识别。
备注(可选)
填入该策略的备注信息。
配置模式
DTS仅支持脚本配置,此处选择为脚本配置。
策略内容
下拉选择系统已有的策略,将其导入至本策略中。
说明本案例介绍自定义策略,此选项无需配置。
权限策略框
填入具体的权限策略信息,表格下方为您列出了一些常见的自定义权限策略供您参考。
说明权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构。
当前支持资源(Resource)和操作(Action)级别的授权。
常见的自定义权限策略:
说明您需要根据业务需求,将下述代码中的
DTS实例ID
替换为真实的DTS实例ID。授予只读权限可以查询对应DTS实例的任务详情、任务配置等信息,不能进行变更操作;授予读写权限可以配置、管理对应的实例。
示例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:启动或暂停多个数据同步实例
单击确定。
步骤二:为RAM用户授权自定义策略
操作级别授权的常见场景
下表中的
DescribeDTSIP
、DescribeSubscriptionInstances
和DescribeSynchronizationJobs
权限用于获取实例列表。因为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
相关操作
通过SDK调用DTS的相关API接口,详情请参见DTS Java SDK使用说明。
常见问题
Q:为什么使用RAM用户登录DTS控制台会提示下述错误,而且不展示实例列表信息?
A:由于RAM用户可能无权限或只有部分实例的权限,DTS控制台不会展示实例列表信息,您需要从RAM管理员处获取RAM用户有管理权限的DTS实例ID,然后在DTS控制台中搜索对应的实例ID进行管理。