为便于企业内部采用中心化统一策略进行数据灾备保护、合规性审计等,云备份对云上资源支持跨阿里云账号进行备份和恢复。本文介绍如何在阿里云账号B下创建RAM角色并授权给阿里云账号A,允许A以服务关联角色SLR(AliyunServiceRoleForHbrCrossAccountBackup)扮演B的RAM角色来访问B的资源,从而实现A跨账号备份和恢复B的阿里云资源。
背景信息
在典型的LandingZone架构最佳实践中,企业内存在不同多个部门多个阿里云账号,开发或者测试环境需要隔离。而数据灾备保护、合规性审计等则采取中心化统一策略。更多信息,请参见Landing Zone企业上云架构。
例如在某企业内,拥有两个独立的生产环境账号A和测试环境账号B。现需要统一备份两个账号下的资源,且生产账号A的数据可以恢复至测试账号B作开发测试用途,测试账号B的数据可恢复至生产账号A做版本更新。此时可以挑选两个账号中的一个作为中心备份账号,或者新创建一个中心备份账号。A和B通过RAM授权给中心备份账号进行备份,A和B中的数据也可以跨账号恢复。
使用限制
目前支持ECS整机备份、ECS文件备份、NAS备份、OSS备份、Tablestore备份、ECS数据库备份和SAP HANA备份场景使用跨账号备份功能。ECS整机备份跨账号备份后,恢复操作时只能恢复到原阿里云账号。具体支持场景请以云备份控制台提示为准。
支持地域:请参考地域支持的功能特性。
授权原理
以阿里云账号A备份阿里云账号B资源为例,说明其授权原理:
账号A创建服务关联角色AliyunServiceRoleForHbrCrossAccountBackup,云备份用此角色来扮演账号B的RAM角色进行数据备份。
账号B创建RAM角色hbrcrossrole,然后:
修改信任策略:仅允许账号A的服务关联角色SLR(AliyunServiceRoleForHbrCrossAccountBackup)扮演账号B的RAM角色来访问阿里云账号B的资源。
在账号A的云备份控制台添加跨账号备份账号B,其中角色名称必须为获得授权的RAM角色hbrcrossrole。
在账号A的云备份控制台切换到账号B,就可以使用账号A备份和恢复账号B的资源。
假设使用阿里云账号A跨账号备份和恢复阿里云账号B的资源,账号A和账号B允许的操作如下表所示:
账号B的资源 | 账号A允许的操作(备份管理账号) | 账号B允许的操作(待备份资源账号) |
ECS整机 |
|
|
其他类型资源 |
|
|
费用说明
使用云备份提供的跨账号备份功能是免费的。但备份恢复产生的费用由备份管理账号(阿里云账号A)支付,其中ECS整机备份的快照服务费用、OSS请求费用仍由原账号(阿里云账号B)支付。更多信息,请参见计费方式与计费项。
假设使用阿里云账号A跨账号备份和恢复阿里云账号B的资源,账号A和账号B的计费项如下表所示:
账号B的资源 | 账号A计费项(备份管理账号) | 账号B计费项(待备份资源账号) |
ECS整机 |
|
|
ECS文件 |
| / |
NAS |
|
|
OSS |
|
|
Tablestore |
| / |
ECS数据库 |
| / |
SAP HANA |
| / |
步骤一:为阿里云账号A创建服务关联角色
使用阿里云账号A进行跨账号备份和恢复,您需要为阿里云账号A授权服务关联角色AliyunServiceRoleForHbrCrossAccountBackup。
角色名称:AliyunServiceRoleForHbrCrossAccountBackup
权限策略:AliyunServiceRolePolicyForHbrCrossAccountBackup
权限说明:允许备份服务跨账号访问其他被授权账号的资源,以进行跨账号备份和恢复。
该操作只需要在首次进入时操作一次。
步骤二:为阿里云账号B创建RAM角色
步骤三:为RAM角色授权
创建RAM角色后,您可以使用该RAM角色进行相关操作,但该RAM角色无任何权限,您需要为该RAM角色授予系统策略或自定义策略。在精确授权界面,RAM默认提供两种系统策略,请选择一种授权。
AdministratorAccess:授予目标账号管理所有云资源的权限。
AliyunHBRRolePolicy:(推荐)授予云备份系统权限策略。
本文以为RAM角色授予AliyunHBRRolePolicy权限为例。
使用阿里云账号B登录RAM控制台。
在左侧导航栏,选择 。
找到目标RAM角色(例如hbrcrossrole),进入目标RAM角色详情页。
在权限管理页签,单击精确授权。
在精确授权面板,选择权限类型为系统策略,输入策略名称为AliyunHBRRolePolicy,然后单击确定。
系统提示精确授权成功,单击关闭。
修改该RAM角色的信任策略。
在当前角色的详情页面,单击信任策略。
单击编辑信任策略。
在编辑框中,将下述代码复制至文本框。其中目标账号ID为阿里云账号A的账号ID。
该策略表示阿里云账号A有权限通过云备份获取临时Token来操作阿里云账号B的资源。
说明您可以访问安全设置页面查看阿里云账号ID。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::目标账号ID:role/AliyunServiceRoleForHbrCrossAccountBackup" ] } } ], "Version": "1" }
单击保存信任策略。配置完成。
步骤四:添加备份账号
使用阿里云账号A登录云备份管理控制台。
在顶部菜单栏,选择所在地域。
重要如果您要备份阿里云账号B在地域regionC的ECS文件、NAS、OSS、Tablestore、数据库或ECS整机,请选择地域regionC。即待备份资源在哪个地域,就在哪个地域添加备份账号。
在左侧导航栏,选择备份>跨账号备份。
在跨账号备份,单击添加备份账号。
在添加备份账号对话框,配置以下参数,然后单击确定。
参数
说明
阿里云账号ID
输入您的阿里云账号ID。此处填写账号B的账号ID。
说明您可以访问安全设置页面查看阿里云账号ID。
角色名称
输入已创建的RAM角色名称。此处填写hbrcrossrole,即您在步骤二:为阿里云账号B创建RAM角色创建的RAM角色名称。
重要您可以单击授权检查,检查之前配置授权是否正确。若提示错误,请检查之前配置后重试。通过检查时,界面会提示此角色已经授权您访问其所属资源的权限。
账号别名
您可以任意设置账号别名,方便进行备份账号的管理。
创建成功后,您可以看到已经增加一条跨账号备份记录。
步骤五:开始跨账号备份
创建完成后,您就可以使用阿里云账号A登录控制台,切换账号,进行跨账号备份阿里云账号B的数据源。
使用阿里云账号A登录云备份管理控制台。
在顶部菜单栏,选择待备份资源所在的地域。
单击登录账号,选择阿里云账号B。
在左侧导航选择不同备份功能,就可以进行跨账号备份了。
重要目前支持ECS文件备份、NAS备份、OSS备份、Tablestore备份、数据库备份和SAP HANA备份场景使用跨账号备份功能。ECS整机备份跨账号备份后,恢复操作时只能恢复到原阿里云账号。具体支持场景请以云备份控制台提示为准。
例如,当您选择ECS文件备份,就可以看到ECS实例列表中已经读取到阿里云账号B名下的ECS资产。备份完成后,阿里云账号B的数据源已经备份到阿里云账号A的备份库。
步骤六:跨账号恢复
您已完成了阿里云账号A备份阿里云账号B的数据源。此时,备份库包含了阿里云账号A(未进行跨账号备份之前的数据)和阿里云账号B的数据备份,备份库是通用的。您可以从备份库的任意历史备份点进行恢复,可以恢复至账号A,也可以恢复到账号B。
切换账号。
备份库是通用的,阿里云账号A和B都可以使用备份库中的历史备份点进行恢复。您希望恢复哪个账号的数据,就切换到哪个账号。
创建恢复任务。创建恢复任务的操作步骤,与各数据源恢复步骤一致。
如何取消跨账号备份功能
取消跨账号备份功能后,阿里云账号A无法再备份阿里云账号B的数据源。请谨慎评估后操作。
建议您保留对其他账号的跨账号备份功能,不进行备份恢复操作,不会新增费用。
之前已经备份的数据仍然保留在备份库,这些数据继续占用存储容量,云备份会继续收取容量费用。希望停止计费,请参见云备份服务如何停止计费?。注意删除备份后数据不可恢复。
切换到阿里云账号B,在对应数据源页面,卸载备份客户端(如果有)、注销实例、删除备份库等。具体操作,请参见云备份服务如何停止计费?。
切换到阿里云账号A,在云备份控制台的跨账号备份页面,删除阿里云账号B。
删除为阿里云账号B创建的RAM角色。
使用阿里云账号B登录RAM控制台。
在左侧导航栏中,选择
。找到为阿里云账号B创建的RAM角色,例如hbrcrossrole。在其操作列,进行删除。