2016-07-15 84 views
0

我在Amazon S3中有一個名爲'data1'的桶。Amazon S3桶策略允許用戶向桶中寫入數據,但僅使用該桶

當我使用Cyber​​duck連接到我的S3時,我希望用戶只能訪問'data1'存儲區,而不能訪問其他存儲區。

我還設置了一個名爲data1的新IAM用戶,並將'AmazonS3FullAccess'策略附加到該用戶的權限 - 但允許訪問所有桶 - 這正是您所期望的。

我想我需要爲此設置另一個策略 - 但是我會怎麼做?

+1

的可能的複製[基本AWS IAM權限的S3桶(HTTP://計算器。 COM /問題/ 9073755 /基本-AWS-IAM的權限換一個-S3-鬥) –

回答

2

首先找到用戶原則。這些可以通過這個命令

aws iam list-users 

看阿恩場輸出例如

{ 
    "Users": [ 
     { 
      "UserName": "eric", 
      "Path": "/", 
      "CreateDate": "2016-07-12T09:08:21Z", 
      "UserId": "AIDAJXPI4SWK7X7PY4RX2", 
      "Arn": "arn:aws:iam::930517348925:user/eric" 
     }, 
     { 
      "UserName": "bambi", 
      "Path": "/", 
      "CreateDate": "2015-07-15T11:07:16Z", 
      "UserId": "AIDAJ2LEXFRXJI5AKUU7W", 
      "Arn": "arn:aws:iam::930517348725:user/bambi" 
     } 
] 
} 

再成立一家S3鬥政策中找到。這些適用於存儲桶並按每個存儲桶設置。正常的IAM策略是根據IAM實體設置的,並且連接到IAM實體,例如用戶。您已經有IAM策略。對於這個需求,S3策略是必需的。

只是強調 - S3政策適用於桶,並且「附加」到S3,IAM政策適用於IAM和與IAM對象相關聯。當IAM實體嘗試使用S3存儲桶時,可應用S3策略和IAM策略。見http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

一旦你知道的原則ARN然後添加一個S3政策這樣

{ 
    "Version":"2012-10-17", 
    "Statement":[ 
    { 
     "Sid":"AddPerm", 
     "Effect":"Allow", 
     "Principal": "arn:aws:iam::930517348725:user/bambi", 
     "Action":["s3:GetObject"], 
     "Resource":["arn:aws:s3:::examplebucket/*"] 
    }, 
    { 
     "Sid":"block", 
     "Effect":"Deny", 
     "Principal": "arn:aws:iam::930517348725:user/bambi", 
     "Action":["s3:*"], 
     "Resource":["arn:aws:s3:::*"] 
    } 
    ] 
} 

我沒有測試過這一點,但就是一般的想法。對不起,我沒有用「數據1」兩個原則和剷鬥名的例子,但它太混亂.. :)

相關問題