2012-10-31 7 views
7

Sto servendo un sito Web statico che utilizza un bucket Amazon S3. So che posso limitare l'accesso in lettura a certe "cartelle" (davvero chiavi, dato che S3 non ha cartelle), ma quello che mi piacerebbe davvero fare è limitare l'accesso per estensione di file.Come posso limitare i file in S3 in base alla loro estensione?

In altre parole, voglio dire "concedere l'accesso in lettura a tutti per qualsiasi file in questo bucket, a condizione che il file termini in htm/css/js/png"; è possibile?

(Per inciso, la mia preoccupazione è che caricherò per errore un file .git o qualcosa di simile che non voglio mostrare al mondo, l'impostazione di una politica di sicurezza per impedire la visualizzazione di tali file sembra più sicura di fidarsi di me per non caricare mai accidentalmente il file sbagliato).

+0

Non c'è davvero nessuno che sia a conoscenza di S3 su Stack Overflow? O c'è qualcosa di sbagliato nella mia domanda ...? – machineghost

risposta

15

Sì, è possibile. È possibile scrivere un Bucket Policy. È possibile utilizzare le espressioni regolari per definire quali oggetti sono interessati dal criterio (examples).

La vostra politica sarà qualcosa di simile a:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "auniqueid", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*.jpg" 
     } 
    ] 
} 

Ciò negare l'accesso a tutti i file del jpg buket bucket.

+0

Grazie per questi collegamenti, ma nessuno degli esempi che hai collegato mostra come limitare l'estensione del file (che era la domanda specifica a cui stavo cercando di ottenere una risposta). – machineghost

+0

@machineghost ha aggiunto un esempio alla mia risposta. – lstern

+0

Fantastico, grazie! – machineghost

Problemi correlati