AWS CLI使用多个凭据同步S3存储桶

duf*_*ffn 5 amazon-s3 amazon-web-services aws-cli

我对源S3存储桶具有只读权限.我无法在此源帐户和存储桶上更改权限或任何类型.我不拥有这个帐户.

我想将源存储桶中的所有文件同步到目标存储桶.我拥有包含目标存储桶的帐户.

我有一组单独的凭据,我不拥有源存储桶和我拥有的目标存储桶.

有没有办法使用AWS CLI使用两组凭据在存储桶之间进行同步?

aws s3 sync s3://source-bucket/ --profile source-profile s3://destination-bucket --profile default
Run Code Online (Sandbox Code Playgroud)

如果没有,我如何设置我拥有的目标存储桶的权限,以便我可以与CLI同步?

Mic*_*bot 6

内置的 S3 复制机制,在 API 级别,要求将请求提交目标存储桶,识别请求中的源存储桶和对象,并使用一具有从源和读取权限的凭据。写入目标。

这是唯一受支持的从一个存储桶复制到另一个存储桶而无需下载和上传文件的方式。

标准解决方案位于http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html

您可以授予他们的用户写入您的存储桶的权限,或者他们可以授予您的用户访问其存储桶的权限...但是,如果两个帐户所有者没有共谋建立一个存储桶,则在不下载和重新上传文件的情况下从一个存储桶复制到另一个存储桶是不可能的。具有两种权限的一组凭据。


Rod*_*o M 1

对于此用例,我会考虑跨区域复制,其中源存储桶和目标存储桶由不同的 AWS 账户拥有

\n\n
\n

...您在一个账户拥有的源存储桶上设置跨区域复制,以复制另一账户拥有的目标存储桶中的对象。

\n\n

当两个存储桶都归同一帐户所有时,此过程与设置跨区域复制相同,只不过您需要执行一个额外步骤\xe2\x80\x94目标存储桶所有者必须创建存储桶策略\n 授予源存储桶所有者的复制操作权限。

\n
\n