2017-07-04 3 views
0

Ich bin eine Politik zu schreiben versuchen, nur einen Eimer, um einen bestimmten Benutzer Zugriff zu gewährenZugriff gewähren auf nur einen Eimer in S3

das ist, was ich bisher:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetBucketLocation", 
       "s3:ListAllMyBuckets" 
      ], 
      "Resource": "arn:aws:s3:::*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": "s3:*", 
      "Resource": [ 
       "arn:aws:s3:::MYBUCKET", 
       "arn:aws:s3:::MYBUCKET/*" 
      ] 
     } 
    ] 
} 

I don 't wollen diese Benutzer alle anderen Eimer zur Liste so ich "Resource" geändert: "arn: aws: s3 ::: *" zu "Ressource": "arn: aws: s3 ::: MYBUCKET" aber es hat nicht funktioniert. Ich brauche diesen Benutzer nicht, um nur programmatisch auf die Konsole zuzugreifen. Danke!!

Antwort

2

Es ist nicht möglich, die Ergebnisse des Befehls ListAllMyBuckets zu begrenzen. Entweder sehen sie die Liste alle Eimer, oder sie sehen überhaupt keine.

Wenn sie wissen, welchen Bucket sie verwenden möchten, können Sie einfach die Berechtigung zum Auflisten der Buckets entfernen. Sie können weiterhin die Inhalte von MYBUCKET auflisten und Objekte hochladen/herunterladen. Sie werden nicht in der Lage sein, eine Liste von Eimern anzufordern. (Und die S3 Management Console funktioniert nicht, da erwartet wird, alle Buckets im Konto auflisten zu können.)