当源桶和目标桶由不同账户拥有时配置复制 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

当源桶和目标桶由不同账户拥有时配置复制

桶和目标 桶由不同 Amazon Web Services 账户拥有时设置复制的操作,与这两个桶由相同账户拥有时设置复制的操作类似。唯一区别在于,目标桶拥有者必须通过添加桶策略,向桶拥有者授予复制对象的权限。

有关在跨账户场景中使用具有 Amazon Key Management Service 的服务器端加密配置复制的更多信息,请参阅为跨账户方案授予其他权限

当源桶和目标桶由不同 Amazon Web Services 账户 拥有时配置复制
  1. 在此示例中,您将在两个不同的 Amazon Web Services 账户 中创建桶和目标桶。您需要为 Amazon CLI 设置两个凭证配置文件(在此示例中,我们使用 acctAacctB 作为配置文件名称)。有关设置凭证配置文件的更多信息,请参阅《Amazon Command Line Interface 用户指南》中的命名配置文件

  2. 按照 针对同一账户中的桶进行配置 中的分步说明操作,进行以下更改:

    • 对于与 桶活动相关的所有 Amazon CLI 命令(用于创建 桶、启用版本控制和创建 IAM 角色),使用 acctA 配置文件。使用 acctB 配置文件创建目标桶。

    • 确保权限策略指定为此示例创建的桶和目标桶。

  3. 在控制台中,在目标桶上添加以下桶策略,以允许 桶的拥有者复制对象。请务必编辑该策略,即提供 桶拥有者的 Amazon Web Services 账户 ID 和目标 桶名称。

    如果您手动创建 IAM 服务角色,请将角色路径设置为 role/service-role/,如以下策略示例所示。有关更多信息,请参阅《IAM 用户指南》中的 IAM ARN

    { "Version":"2012-10-17", "Id":"", "Statement":[ { "Sid":"Set-permissions-for-objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-acct-ID:role/service-role/source-acct-IAM-role" }, "Action":["s3:ReplicateObject", "s3:ReplicateDelete"], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid":"Set permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-acct-ID:role/service-role/source-acct-IAM-role" }, "Action":["s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning"], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET" } ] }

请选择桶并添加桶策略。有关说明,请参阅 使用 Amazon S3 控制台添加桶策略

在复制中,默认情况下,源对象的拥有者拥有副本。当源桶和目标桶由不同的 Amazon Web Services 账户拥有时,您可以添加可选的配置设置以将副本所有权更改为拥有目标桶的 Amazon Web Services 账户。这包括授予 ObjectOwnerOverrideToBucketOwner 权限。有关更多信息,请参阅更改副本拥有者