如果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用戶操作列的添加權限。
在新增授權面板,為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進行管理。