2014-02-20 7 views
15

Wir haben derzeit eine S3-Bucket-Richtlinie, die alles öffentlich macht.S3-Bucket-Richtlinie, um einen bestimmten Unterordner öffentlich zu machen und alles andere als privat?

Im Moment haben wir einen Eimer "bucket1" und im Inneren gibt es nummerierte Unterordner für jeden Eintrag Nummern 01 aufwärts (z. B. 01, 02, 03) und darin immer einen Ordner namens "128".

Wir wollen die Dateien in den 128 Ordnern immer öffentlich machen.

Also würden wir etwas brauchen, um "bucket1/*/128" zu erlauben, und alles andere ist nur mit einer Zeitstempel-Signatur zugänglich.

Vorausgesetzt, dies ist möglich, aber nicht wissen, wie Sie die Anweisung erstellen.

Antwort

34

Ich habe es geschafft!

Ich versuchte alle Arten von langatmigen überdenken Methoden zu versuchen, dies zu erreichen einschließlich der wenig bekannten "nicht Ressource", wenn alles, was ich tun musste, war die Standard "Allow" Politik und wenden Sie es an meine angegebene Unterordner!

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "AllowPublicRead", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::BUCKETNAME/*/128/*" 
     } 
    ] 
} 

Hinweis: Bearbeitet den Ressourcennamen.

+0

Welcher Teil ist für * bestimmte Unterordner *? '/ 128 /' ?? –

Verwandte Themen