2017-10-04 114 views
0

我想在兩個s3存儲桶之間同步數據。如何在不同配置文件擁有的兩個s3存儲桶之間同步數據

問題是每個人都擁有不同的AWS賬戶(即訪問密鑰ID和祕密訪問密鑰)。

我試圖讓目的地鬥公開可寫的,但我仍然得到

fatal error: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied 

如何解決這個問題?

+0

中的IAM角色之一啓用跨帳戶的訪問(假設賬戶A )。在第二個帳戶(比如說帳戶B)存儲桶中,設置存儲桶策略以啓用帳戶A的IAM角色寫入(s3:PutObject)。 –

+0

S3存儲桶由根AWS賬戶擁有,而不是特定的IAM用戶/角色/配置文件。另外,S3存儲桶並不具體具有訪問密鑰/密鑰,這些密鑰是分配給根AWS賬戶或IAM賬戶的訪問憑證。那麼你是否說這些存儲桶是由不同的AWS賬戶擁有的?或者您是否只是說您目前在單個AWS賬戶下使用不同的IAM用戶訪問存儲桶? –

+0

是@MarkB。你是對的,由不同的AWS賬戶擁有兩個桶。順便說一句,我解決了授予源桶帳戶的權限。 – gc5

回答

0

我通過授權將目標存儲區寫入源存儲桶的AWS賬戶來解決此問題。

我去了目標存儲桶的「權限」標籤頁,「訪問其他AWS賬戶」,我使用賬戶電子郵件爲源存儲桶的AWS賬戶授予權限。

然後,我通過使用AWS CLI複製的文件(不要忘記給予完全訪問收件人帳戶!):

aws s3 cp s3://<source_bucket>/<folder_path>/ s3://<destination_bucket> --recursive --profile <source_AWSaccount_profile> --grants full=emailaddress=<destination_account_emailaddress> 
相關問題