amazon-s3 - 将AWS s3存储桶移动到另一个aws账户

标签 amazon-s3 awss3transfermanager

AWS 是否提供一种将存储桶从一个账户复制到另一个账户的方法?我正在将多个文件上传到我自己的存储桶中以用于开发目的,但现在我想要将存储桶切换到客户帐户。

有什么可能的解决方案来做到这一点?

最佳答案

您可以将一个存储桶的内容复制到另一个帐户拥有的另一个存储桶,但无法将存储桶的所有权转移到新帐户。思考这个问题的方法是,您正在转移存储桶中对象的所有权,而不是存储桶本身。

亚马逊有 very detailed articles about this procedure .

在源账户中,将以下策略附加到您要复制的存储桶。

#Bucket policy in the source AWS account
{
     "Version": "2012-10-17",
     "Statement": [
          {
               "Sid": "DelegateS3Access",
               "Effect": "Allow",
               "Principal": {"AWS": "222222222222"},
               "Action": "s3:*",
               "Resource": [
                    "arn:aws:s3:::sourcebucket/*",
                    "arn:aws:s3:::sourcebucket"
               ]
          }
     ]
}

将策略附加到目标 AWS 账户中的用户或组,以委派对源 AWS 账户中存储桶的访问权限。如果您将策略附加到组,请确保 IAM 用户是该组的成员。

#User or group policy in the destination AWS account
{
     "Version": "2012-10-17",
     "Statement": {
          "Effect": "Allow",
          "Action": "s3:*",
          "Resource": [
               "arn:aws:s3:::sourcebucket",
               "arn:aws:s3:::sourcebucket/*",
               "arn:aws:s3:::destinationbucket",
               "arn:aws:s3:::destinationbucket/*"
          ]
     }
}

完成这些步骤后,您可以使用 AWS 命令​​行界面 (CLI) 命令 cp 或sync 复制对象。例如,以下 aws s3sync 命令可用于将内容从源 AWS 账户中的存储桶复制到目标 AWS 账户中的存储桶。

aws s3 sync s3://sourcebucket s3://destinationbucket

关于amazon-s3 - 将AWS s3存储桶移动到另一个aws账户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42547678/

相关文章:

amazon-web-services - 无法在 S3 中配置 SQS 队列通知

ios - AWS S3 分段上传在后台太慢 - iOS

sql - 无法从Spark读取hadoop/hive外部S3表

node.js - 从 S3 下载文件夹时中断功能

java - AWS SDK Java TransferManager 限制下载大小

amazon-web-services - Spark - Redshift -s3 : class path conflict

ios - swift 3 : Transfer Utility enumerateToAssignBlocks method signature

python - 上市后 S3 key 不立即出现

amazon-web-services - 删除具有拒绝所有策略和 VPC 条件的 S3 存储桶