如果RAM提供的系统策略无法满足您的业务需求,您可以通过创建自定义策略实现精细化权限管理(例如实例或操作级别的授权)。
前提条件
已授予子账号访问云资源的权限,允许其访问当前云账号下的RDS、ECS等云资源,则子账号配置DTS的任务时,DTS可调用相关云资源信息。详情请参见授予DTS访问云资源的权限。
背景信息
权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构。
注意事项
子账号暂不支持配置目标库为MaxCompute的数据同步作业,需要使用主账号完成配置。
使用子账号配置DTS的任务时,如果数据库是数据库网关DG或云企业网CEN接入的,您还需要为子账号授予AliyunDGFullAccess(管理数据库网关DG的权限)或AliyunCENFullAccess(管理云企业网CEN的权限)权限。
步骤一:创建自定义权限策略
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑页签。
在权限策略框中,填入具体的权限策略信息。
权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构。
当前支持资源(Resource)和操作(Action)级别的授权。
您需要根据业务需求,将下述代码中的
DTS实例ID
替换为真实的DTS实例ID。授予只读权限可以查询对应DTS实例的任务详情、任务配置等信息,不能进行变更操作;授予读写权限可以配置、管理对应的实例。
重要您需要确保自定义权限策略中有DescribeBasicConfigs和DescribeDomainRegions两个内部接口的操作级别的权限。
常见的自定义权限策略:
示例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用户授权自定义策略
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户登录名称/显示名称列,找到目标RAM用户。
单击目标RAM用户操作列的添加权限。
在新增授权面板,为RAM用户添加权限。
选择资源范围。
账号级别:权限在当前阿里云账号内生效。
资源组级别:权限在指定的资源组内生效。
重要指定资源组授权生效的前提是该云服务及资源类型已支持资源组,详情请参见支持资源组的云服务。资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
在权限策略区域的下拉框中,将策略类型选择权限为自定义策略。
在文本框中输入在步骤一中创建的权限策略名称,进行搜索。
单击需要授权的自定义权限策略名称,将其添加到已选择权限策略区域框中。
单击确认新增授权。
授权成功后,单击关闭。
操作级别授权的常见场景
下表中的
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接口,详情请参见Python调用SDK示例。
常见问题
Q:为什么使用RAM用户登录DTS控制台会提示下述错误,而且不展示实例列表信息?
A:由于RAM用户可能无权限或只有部分实例的权限,DTS控制台不会展示实例列表信息,您需要从RAM管理员处获取RAM用户有管理权限的DTS实例ID,然后在DTS控制台中搜索对应的实例ID进行管理。