gpt4 book ai didi

amazon-s3 - S3 在不同帐户的存储桶之间移动文件?

转载 作者:行者123 更新时间:2023-12-02 19:23:57 24 4
gpt4 key购买 nike

我正在为拥有 2 个独立 AWS 账户的客户做一些工作。我们需要将其中一个 S3 帐户上的存储桶中的所有文件移动到第二个帐户上的新存储桶中。

我们认为 s3cmd 会允许这样做,使用以下格式:

s3cmd cp s3://bucket1 s3://bucket2 --recursive

但是,这仅允许我使用一个帐户的 key ,而无法指定第二个帐户的帐户。

有没有办法在不下载文件并将其再次上传到第二个帐户的情况下执行此操作?

最佳答案

您不必向所有人开放权限。在源和目标上使用以下存储桶策略,以便使用 IAM 用户从一个账户中的存储桶复制到另一个账户中的存储桶

  • 要复制的存储桶:SourceBucket

  • 要复制到的存储桶:DestinationBucket

  • 源 AWS 账户 ID:XXXX–XXXX-XXXX

  • 源 IAM 用户:src–iam-user

以下策略意味着 – IAM 用户 - XXXX–XXXX-XXXX:src–iam-users3:ListBuckets3:GetObject特权on SourceBucket/*s3:ListBuckets3:PutObject DestinationBucket/* 的特权

在 SourceBucket 上,策略应如下所示:

{
"Id": "Policy1357935677554",
"Statement": [{
"Sid": "Stmt1357935647218",
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": "arn:aws:s3:::SourceBucket",
"Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
}, {
"Sid": "Stmt1357935676138",
"Action": ["s3:GetObject"],
"Effect": "Allow",
"Resource": "arn:aws:s3:::SourceBucket/*",
"Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
}]
}

在 DestinationBucket 上,策略应该是:

{
"Id": "Policy1357935677555",
"Statement": [{
"Sid": "Stmt1357935647218",
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": "arn:aws:s3:::DestinationBucket",
"Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
}, {
"Sid": "Stmt1357935676138",
"Action": ["s3:PutObject"],
"Effect": "Allow",
"Resource": "arn:aws:s3:::DestinationBucket/*",
"Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
}]
}

要运行的命令是 s3cmd cp s3://SourceBucket/File1 s3://DestinationBucket/File1

关于amazon-s3 - S3 在不同帐户的存储桶之间移动文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12700921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com