文档首页/ 对象存储服务 OBS/ 用户指南/ 数据管理/ 数据复制/ 使用OMS实现跨账号同区域桶之间数据复制
更新时间:2026-09-22 GMT+08:00

使用OMS实现跨账号同区域桶之间数据复制

使用场景

跨账号同区域复制是指将某个账号某个区域下的源桶中的数据复制到另一账号同区域下的目标桶中。

本节介绍使用对象存储迁移服务(Object Storage Migration Service,OMS)的控制台和API以及OBS的API、SDK、obsutil工具实现跨账号同区域桶之间数据复制。

支持复制的对象范围:包括文件/文件夹、对象列表、指定对象前缀、指定时间修改后的对象。

支持复制的对象内容:对象内容、元数据(对象名称、大小、最后修改时间、创建者、版本号、用户定义的元数据)、ACL(OBS API、obsutil支持)、存储类别、WORM保留策略(OBS API支持)、对象标签(OBS API支持)。

图1 跨账号同区域复制

OBS帮助您将存储于华为云对象存储的业务数据复制到同区域另一个桶,但华为云并不感知您的数据的具体内容,也不对您使用本服务的合法合规性负责。

约束与限制

跨账号同区域复制费用说明

  • 使用OMS的控制台和API进行数据迁移时,会调用源端和目的端的对象存储服务的API进行数据的上传、下载,所以会产生一定的API请求及下载流量费用,详情请参见OMS计费说明。同时,对象存储至目标桶,还会产生存储费用,详情请参见存储费用。
  • 使用OBS API、SDK、obsutil进行同区域数据复制时,会产生请求费用、存储费用,如表1。
    表1 同区域复制数据说明

    操作名称

    产生费用类别

    费用说明

    付费方式

    同区域复制数据

    请求费用

    按复制成功的对象数计算请求次数,产生请求费用。复制对象过程中调用的请求,请参考复制对象说明。

    成功复制一个对象会产生源端的GET请求和目标端的PUT请求。

    如何计算请求费用等详细说明,请参见请求费用说明。

    按需计费

    流量费用

    免费。同区域跨桶复制数据为内网传输,暂不收取传输费用。

    NA

    存储费用

    同区域复制目标桶的存储费用。

    如果您修改了复制对象的存储类别,复制到目标桶的数据按新的存储类型计算存储费用。

    按需计费

    资源包(各存储类别对应的存储包)

前提条件

  • 已在某个账号某个区域下创建源桶。
  • 已在另一个账号的同区域下创建目标桶。创建桶操作请参见创建桶。

操作步骤

步骤一:配置桶策略

要进行跨账号同区域复制,必须授予目标账号源桶的读取权限和目标桶的写入权限。用户可通过桶策略来授予权限。

配置源桶策略:允许目标账号读取源桶

  1. 使用账号A(源桶所属的账号)登录OBS管理控制台。
  2. 在桶列表中单击源桶名称,进入桶详情页。
  3. 左侧导航栏选择“权限控制 > 桶策略”。
  4. 单击“创建”进入创建桶策略页面,可通过可视化视图方式和JSON方式创建桶策略:

    • 通过可视化视图方式创建桶策略:具体参数设置请参见表2。
      表2 通过可视化视图方式配置源桶策略

      参数

      说明

      策略名称

      自定义名称,请结合业务实际情况填写。

      效力

      选择“允许”,指定本条桶策略描述的权限为接受请求。

      被授权用户

      选择“其他账号”,输入执行复制操作的目标账号ID,IAM用户ID或IAM名称。

      授权资源

      选择“整个桶(包括桶内对象)”。

      授权操作

      动作范围选择“模板配置”,并勾选“桶只读”。

      条件

      不填(默认全部)。

    • 通过JSON方式创建桶策略:
      {
          "Statement": [
              {
                  "Sid": "桶策略名称",
                  "Effect": "Allow",
                  "Principal": {
                      "ID": [
                          "domain/账号ID/IAM用户ID"
                      ]
                  },
                  "Action": [
                      "Get*",
                      "List*",
                      "HeadBucket"
                  ],
                  "Resource": [
                      "源桶名",
                      "源桶名/*"
                  ]
              }
          ]
      }

  5. 单击“创建”,源桶读策略创建完成。

配置目标桶策略:授予目标账号拥有目标桶写入的权限

如果目标桶的所有者是账号B(即目标账号),则无需配置桶策略,桶所有者默认具备桶的读写权限。如果目标桶的所有者不是账号B(即目标账号),请参考以下操作给目标账号配置目标桶的写入权限。

  1. 使用目标账号登录OBS管理控制台。
  2. 在桶列表中单击目标桶名称,进入桶详情页。
  3. 左侧导航栏选择“权限控制 > 桶策略”。
  4. 单击“创建”进入创建桶策略页面,可通过可视化视图方式和JSON方式创建桶策略:

    • 通过可视化视图方式创建桶策略:具体参数设置请参见表3。
      表3 通过可视化视图方式配置目标桶策略

      参数

      说明

      策略名称

      自定义名称,请结合业务实际情况填写。

      效力

      选择“允许”,指定本条桶策略描述的权限为接受请求。

      被授权用户

      选择“其他账号”,输入执行复制操作的目标账号ID,IAM用户ID或IAM名称。

      授权资源

      选择“整个桶(包括桶内对象)”。

      授权操作

      动作范围选择“模板配置”,并勾选“桶读写”。

      条件

      不填(默认全部)。

    • 通过JSON方式创建桶策略:
      {
          "Statement": [
              {
                  "Sid": "桶策略名称",
                  "Effect": "Allow",
                  "Principal": {
                      "ID": [
                          "domain/账号ID/IAM用户ID"
                      ]
                  },
                  "NotAction": [
                      "DeleteBucket",
                      "PutBucketPolicy",
                      "PutBucketAcl"
                  ],
                  "Resource": [
                      "目标桶名",
                      "目标桶名/*"
                  ]
              }
          ]
      }

  5. 单击“创建”,目标桶写入策略创建完成。