在DMS中,不同阿里云账号(主账号)的资源相互隔离。如果您需要访问其他主账号在DMS中的资源,或者需要将自身主账号的阿里云资源录入到其他主账号的DMS中,则需要进行跨账号访问或录入资源操作。本文为您介绍如何进行跨账号访问资源和录入资源。
跨阿里云账号录入实例
注意事项
通过角色ARN录入实例功能目前正在逐步灰度中,如果您有使用需求,请联系DMS技术支持。
目前仅支持跨账号录入阿里云实例。
在进行跨账号录入实例操作时,DMS要求资源归属者必须登录过DMS。
授权操作
跨账号录入实例前,需要为跨账号录入实例的RAM用户授予管理DMS资源、在DMS录入的数据库实例类型等权限。
假设阿里云账号(主账号)A需要录入阿里云账号(主账号)B的资源至A所在的DMS租户,则阿里云账号(主账号)B的RAM用户(子账号)需要在RAM控制台进行如下操作:
使用资源归属者B的阿里云账号(主账号)下拥有
AliyunRAMFullAccess
权限的RAM用户(子账号)登录RAM控制台。在角色页面,新建RAM角色并为用户A设置信任策略。您可通过如下任一方式进行操作:
方式一:可视化编辑
在创建角色页面,单击切换编辑器。
在可视化编辑页签下,主体选择云服务。配置项说明如下:
其他云账号下方的文本框填入主账号A的UID。
云服务选择数据管理/DMSEnterprise。
单击确定。
方式二:脚本编辑
在创建角色页面,单击切换编辑器。
在脚本编辑页签下,填入相关的策略。
策略含义:为跨账号录入实例的用户设置信任策略,允许指定用户管理资源。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<主账号A的UID>@dms.aliyuncs.com" ] } } ], "Version": "1" }
单击确定。
在权限策略页面,创建权限策略。例如
DmsCrossAccountPolicy
。目前,在权限策略中支持设置的数据库类型和接入方式(VPC专线)如下:Redis、PolarDB分布式版、OceanBase、Lindorm、Hologres、GDB、SelectDB、ClickHouse企业版。
示例策略含义:指定在DMS通过VPC专线录入数据库。
{ "Statement": [ { "Action": [ "vpc:DescribeVpcs" ], "Resource": "*", "Effect": "Allow" } ], "Version": "1" }
在角色页面,单击角色名称,在角色详情页面复制ARN。
录入实例
用户A在录入数据库时,填入角色ARN。
通过角色ARN录入实例的方式正在灰度中。
跨阿里云账号访问实例资源
如果您需要跨阿里云账号访问DMS中的实例资源,请根据如下内容进行操作。
前提条件
访问资源的用户A与资源归属者B所属的阿里云账号(主账号)不同,且归属者B在DMS内有对应的租户。
授予访问者权限
访问DMS资源
使用阿里云账号(主账号)A下拥有
AliyunSTSAssumeRoleAccess
权限的RAM用户(子账号)登录阿里云控制台。单击右上角的头像,切换身份信息。
输入资源归属者B的阿里云账号(主账号)UID,以及创建的角色名称。
单击提交。
完成身份切换后,再访问数据管理DMS 5.0。
说明当您访问DMS时,DMS会自动将您设置为普通用户。如需对实例资源进行变更、导出操作,需要您在DMS额外申请资源权限。