2015-11-20 165 views
0

我一直在努力掙扎幾個小時,無法弄清楚。AWS S3 - 如何將IAM用戶限制爲單個存儲桶?

我創建了一個新的用戶,口是心非,我做了一個新的水桶叫鮑勃 - 房子,產生了以下政策:(任何數字我不知道我應該分享的xxx'd出)

{ 
    "Version": "2012-10-17", 
    "Id": "Policyxxx", 
    "Statement": [ 
     { 
      "Sid": "Stmtxxx", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::xxx:user/duplicity" 
      }, 
      "Action": "s3:*", 
      "Resource": "arn:aws:s3:::bobs-house/*" 
     } 
    ] 
} 

我去策略模擬器,並運行一些測試。果然,它表示我可以做任何我想做的用戶複製品,但只能在bobs-house上。如果虛度試圖做任何涉及其他桶的事情,它就會被拒絕。大!

現在我啓動我的FTP客戶端並使用重複的IAM訪問密鑰和密鑰連接到s3.amazonaws.com(使用傳輸的S3協議當然,而不是FTP協議)。我得到「訪問被拒絕」。我無法弄清楚我做錯了什麼。任何幫助,將不勝感激!

編輯:

明白了,感謝約翰的答案如下。我可以使用傳輸連接和僅查看桶的內容,添加文件等,但口是心非(備份軟件)抱怨:

PermanentRedirect. The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. bobs-house.s3.amazonaws.com

所以我切換格式在口是心非的配置到:

s3://bops-house.s3.amazonaws.com/test 

然後我得到這個錯誤:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

我的訪問密鑰&祕密密鑰是絕對正確的。

+0

我不知道AWS做FTP –

+0

你嘗試'在策略模擬器列表buckets'?因爲我不確定Transmit在底層做了什麼,但是它很可能會嘗試一些你沒有批准的操作,而不涉及特定的存儲桶(在這種情況下,你真的需要提交一個bug報告他們)。 –

回答

2

如果您希望爲特定用戶授予Amazon S3權限,最好針對IAM用戶本身而不是桶策略創建策略

一個桶政策好分配普遍權限,而政策IAM有利於賦予權限的用戶的特定用戶或組。

參見:User Policy Examples

+0

謝謝!這工作。我編輯了我的帖子..還有一個問題 – ffxsam

相關問題