Ich schlage vor, dass Sie eine Bucket-Richtlinie 1 auf den Bucket anwenden, in dem Sie öffentliche Inhalte speichern möchten. Auf diese Weise müssen Sie nicht für jedes Objekt eine ACL festlegen. Hier ist ein Beispiel für eine Richtlinie, mit der alle Dateien im Bucket mybucket öffentlich gemacht werden.
{
"Version": "2008-10-17",
"Id": "http better policy",
"Statement": [
{
"Sid": "readonly policy",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/sub/dirs/are/supported/*"
}
]
}
Das *
in "Resource": "arn:aws:s3:::mybucket/sub/dirs/are/supported/*"
erlaubt Rekursion.
1 Beachten Sie, dass sich eine Bucket-Richtlinie von einer IAM-Richtlinie unterscheidet. (Zum einen wird eine Fehlermeldung angezeigt, wenn Sie versuchen, Principal
eine IAM-Richtlinie aufzunehmen.) Die Bucket-Richtlinie kann bearbeitet werden, indem Sie das Stammverzeichnis des Buckets in Ihrer AWS-Webkonsole verschieben und Eigenschaften> Berechtigungen erweitern. Unterverzeichnisse eines Buckets haben ebenfalls Eigenschaften> Berechtigungen, es gibt jedoch keine Option dazuEdit bucket policy