2017-04-17 48 views
-1

存儲桶可公開訪問,但具有訪問授權用戶的ACL。我可以從本地機器訪問S3存儲桶,因爲我已經爲其配置了AWS CLI。從本地碼頭包容器訪問S3存儲桶(不使用AWS CLI)

有什麼方法可以從我的機器上運行的docker實例訪問存儲桶,而無需在docker映像上安裝和配置AWS CLI?

編輯:
對於那些誰不明白S3是如何工作的,並downvoting問題,一隻水桶能公開訪問 - 所有的上市,其內容如果頂級桶URI被擊中;但由於ACL限制,這些項目都不可訪問。我明白這可能是一個糟糕的設計,但這不是這個問題的關鍵。
我可以從我的計算機訪問所有項目,因爲我已將AWS CLI配置爲允許訪問應用程序AWS軟件開發工具包。但是,我不能從Docker容器訪問它們。
似乎如果在Docker鏡像中設置AWS CLI,這是不可能的,因爲SDK要麼查找配置的AWS CLI,要麼嘗試點擊內部IP 169.254.169.254以獲取元數據訪問權限,的EC2實例。 不,根據下面的答案,EC2實例沒有配置CLI。如果您的實例可以訪問受保護的S3存儲桶,那麼這是IAM策略。

+1

大約有10個不同的AWS SDK可用,其中任何一個都可以在沒有CLI的情況下訪問S3存儲桶。你能詳細說明你在做什麼嗎? – stdunbar

+0

如果存儲桶配置爲公共,則可以使用HTTP請求訪問S3對象;所以我請求你使用curl或wget,你可以在任何Linux docker容器中默認使用它。 – Viswesn

回答

0

所有aws ec2實例都預先安裝了aws cli。如果您的Docker容器是使用ec2實例構建的,則根本不需要安裝cli。

+0

我編輯了這個問題,使其更加清晰。我有興趣在本地運行docker實例。所以EC2不在圖片中。 – gargsms

相關問題