Zugriff Verweigert beim Aufruf der PutObject-Betrieb mit Eimer-level-Berechtigung
Folgte ich dem Beispiel auf http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html#iam-policy-example-s3 für so gewähren Sie einem Benutzer Zugriff auf nur einen Eimer.
Habe ich dann getestet die config mit dem W3 Total Cache WordPress plugin. Der test fehlgeschlagen ist.
Ich habe auch versucht zu reproduzieren des Problems verwenden
aws s3 cp --acl=public-read --cache-control='max-age=604800, public' ./test.txt s3://my-bucket/
ist und dass Fehler bei der mit der
upload failed: ./test.txt to s3://my-bucket/test.txt A client error (AccessDenied) occurred when calling the PutObject operation: Access Denied
Warum kann ich nicht hochladen ... zu meinem Eimer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beantwortung meiner eigenen Frage:
Beispiel Politik gewährt PutObject-Zugang, aber ich hatte auch zu gewähren PutObjectAcl Zugang.
Musste ich ändern
aus dem Beispiel:
Müssen Sie auch sicherstellen, dass Ihre Eimer ist konfiguriert für clients, die eine öffentlich-zugängliche ACL über diese beiden Boxen:
Ich hatte ein ähnliches problem. Ich war nicht mit dem ACL-Zeug, so dass ich nicht brauchen
s3:PutObjectAcl
.In meinem Fall, ich war dabei (in Serverlose Rahmen YML):
Statt:
Fügt eine
/*
zum Ende der Eimer ARN.Hoffe, das hilft.
War ich nur schlug meinen Kopf gegen eine Wand gerade versucht, zu S3 uploads mit großen Dateien arbeiten. Zunächst mein Fehler war:
Dann habe ich versucht, das kopieren, eine kleinere Datei und bekam:
Könnte ich die Liste der Objekte in Ordnung, aber ich konnte nichts anderes tun, obwohl ich hatte
s3:*
Berechtigungen in meiner Rolle der Politik. Ich landete überarbeitung der Richtlinie zu diesem:Nun bin ich in der Lage, das hochladen einer Datei. Ersetzen
my-bucket
mit Ihrem Eimer Namen. Ich hoffe, das hilft jemand anderem, das wird durch dieses.In diesem Fall helfen, die sonst jemand, in meinem Fall, ich war mit einem CMK (es geklappt, mit dem Standard-aws/s3-Taste)
Ich musste, um meine Schlüssel definition in IAM und fügen Sie den programmatischen Benutzer angemeldet boto3, um die Liste der Benutzer, dass "dieser Schlüssel können zum verschlüsseln und entschlüsseln von Daten innerhalb von Anwendungen und bei der Nutzung von AWS-services integriert mit KMS.".
Ich hatte ein ähnliches Problem beim hochladen zu einem S3-bucket geschützt mit KWS-Verschlüsselung.
Ich habe eine minimale Richtlinie, die ermöglicht das hinzufügen von Objekten unter einem bestimmten s3-Taste.
Ich brauchte, um fügen Sie die folgenden KMS-Berechtigungen, um meine Politik zu ermöglichen, die Rolle zu setzen Objekte in den Eimer. (Vielleicht etwas mehr, als unbedingt erforderlich)
Ich hatte die gleiche Fehlermeldung für einen Fehler, den ich gemacht:
Stellen Sie sicher, dass Sie eine korrekte s3 uri wie:
s3://my-bucket-name/
(Wenn meine-bucket-Namen ist die Wurzel des aws-s3 natürlich)
Darauf bestehe ich, weil beim kopieren und einfügen der s3-bucket, die von Ihrem browser erhalten Sie so etwas wie
https://s3.console.aws.amazon.com/s3/buckets/my-bucket-name/?region=my-aws-regiontab=overview
Damit ich den Fehler gemacht, zu verwenden
s3://buckets/my-bucket-name
wirft:An error occurred (AccessDenied) when calling the PutObject operation: Access Denied