2012-07-21 12 views
6

Ich habe einen Benutzer in meinem IAM Konto namens „Testuser“, der über Administratorrechte verfügt, etwa so:Warum überschreibt meine AWS S3-Bucket-Richtlinie nicht meine IAM-Richtlinie?

{ 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": "*", 
     "Resource": "*" 
    } 
    ] 
} 

Und ich habe dann eine Politik auf meinem S3 Eimer, die diesem Benutzer den Zugriff verweigert, etwa so:

Also, die explizite Ablehnung in der S3-Bucket-Richtlinie sollte die Erlaubnis von der IAM-Richtlinie richtig überschreiben? Aber wenn ich mich als Testbenutzer anmelde, habe ich immer noch Zugriff auf alles in diesem Bucket - ich kann sogar die Bucket-Policy für diesen Bucket (und auch für jeden anderen Bucket) ändern oder entfernen. Warum ist meine ausdrückliche Ablehnung etwas zu tun?

+0

Durch den Zugriff auf alles, was Sie nur den Eimer Inhalt Auflistung bedeuten oder können Sie auch Dateien erhalten/setzen? –

+0

Ich meine alles - Anzeigen von Dateien, Hinzufügen von Dateien, Anzeigen der Bucket-Richtlinie, Bearbeiten der Bucket-Richtlinie usw. – Dasmowenator

Antwort

6

Versuchen Sie, das volle ARN Formular für den Benutzer-ID in der Eimer Politik mit:

"Principal": { 
    "AWS":["arn:aws:iam::accountid:user/testuser"] 
} 
+0

Danke für die Antwort - leider hatte dies keine Wirkung – Dasmowenator

+7

Die Richtlinien, die Sie angegeben haben, sollten 'testuser' daran hindern, zu bekommen/Objekte innerhalb des Buckets setzen/löschen, aber _nicht_ verhindern, dass sie den Bucket-Inhalt auflisten. Dafür müsstest du '" Resource "verwenden: [" arn: aws: s3 ::: mein-bucket-name/* "," arn: aws: s3 ::: mein-bucket-name "]' in die Deny-Regel (weil Aktionen wie 'ListBucket' vom Bucket-ARN und nicht vom Bucket/* One gesteuert werden). –

+0

Danke - das hat es behoben – Dasmowenator