2017-05-07 5 views
0

Ich habe eine Rails-App zum Hochladen von Dateien auf S3 eingerichtet Ich habe einen IAM-Benutzer mit einer Inline-Richtlinie an den Benutzer angeschlossen.S3-Richtlinie funktioniert nicht, wenn die Ressource angegeben ist

Wenn ich die folgende Politik alles funktioniert gut:

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "Stmt1494133349000", 
     "Effect": "Allow", 
     "Action": [ 
      "s3:*" 
     ], 
     "Resource": [ 
      "*" 
     ] 
    } 
] 
} 

Jetzt, wenn ich versuche, die ARN meiner Eimer zu geben, bekomme ich einen Zugriff verweigert Fehler in meiner Anwendung.

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "Stmt1494133349000", 
     "Effect": "Allow", 
     "Action": [ 
      "s3:*" 
     ], 
     "Resource": [ 
      "arn:aws:s3:::my-bucket" 
     ] 
    } 
] 
} 

Der ARN wird direkt aus meinem Bucket kopiert. Keine Ahnung, warum die zweite Politik nicht funktioniert. Es sollte nach allem, was ich gelesen habe.

Antwort

1

Das ist Ihre Eimer:

"Resource": [ 
     "arn:aws:s3:::my-bucket" 
] 

Dies ist Ihr Eimer und die Objekte in Ihrem Eimer:

"Resource": [ 
     "arn:aws:s3:::my-bucket", 
     "arn:aws:s3:::my-bucket/*" 
] 
+0

dass es genau ist! Aus irgendeinem Grund nahm ich an, dass der Zugriff auf den Eimer auch Zugang zu seinem Objekt gab. Vielen Dank! – Justin

Verwandte Themen