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/