
[英]How to copy files from a bucket on one AWS account to a bucket on another AWS account?
[英]How to copy files from one AWS account to Another AWS Account
我需要将文件从客户端S3存储桶移动到我们的S3存储桶。 我做了几件事:
你能给我一些指示吗? 提前致谢。
你有2个选择:
拉文件
在源中设置存储桶策略,授予对目标帐户中用户/角色的读取权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Principal": {
"AWS": "arn:aws:iam::DEST_ACCOUNT:user/DestinationAccountUserName"
},
"Resource": [
"arn:aws:s3:::source-bucket",
"arn:aws:s3:::source-bucket/*"
]
}
]
}
然后,您可以使用目标帐户中的用户运行aws s3 sync s3://source-bucket s3://dest-bucket
。
推送文件
在目标中设置存储桶策略,授予对源帐户中用户/角色的写访问权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Principal": {
"AWS": "arn:aws:iam::SOURCE_ACCOUNT:user/SourceAccountUserName"
},
"Resource": [
"arn:aws:s3:::dest-bucket"
],
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
}
]
}
然后,您可以在源帐户中运行aws s3 sync --acl bucket-owner-full-control s3://source-bucket s3://dest-bucket
。 重要信息如果未设置ACL,则目标帐户中的存储区所有者将无法访问这些对象,这就是我们在"Condition"
强制执行ACL的原因。
以下是关于此的AWS帖子: https : //aws.amazon.com/es/premiumsupport/knowledge-center/cross-account-access-s3/
本文介绍了几个选项......
- AWS S3控制台 - 适用于处理有限数量的对象或在同一AWS账户内进行转移。
- AWS命令行界面(cli) - EC2命令行工具。
- AWS S3 SDK - 如果您准备进行编码并编写自己的脚本。
- 来自s3tools.org的s3cmd - 用Python编写的命令行工具。 查看Alfie La Peter的文章。
- S3浏览器 - 仅限Windows。
- CloudBerry S3 Explorer - 仅限Windows,而且价格合理。
- Bucket Explorer - 支持Windows,Mac和Linux(需要付费)。
CloudBuddy - MS Office插件。
S3Fox - Firefox附加组件。
...它还提供了有关如何使用AWS CLI进行迁移的详细信息。 宏步骤:
- 创建/识别存储桶
- 创建IAM用户帐户
- 设置用户凭据
- 创建用户策略
- 创建存储桶策略
- 验证EC2实例上的AWS S3 CLI可用性
- 配置S3 CLI凭据
- 最后复制并移动一些S3对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.