2012-10-26 18 views
6

Ho un allegato di file di testo graffato (in Rails).Politica bucket di AWS S3: come consentire l'accesso solo dal mio sito web?

La mia politica è secchio:

{ 
    "Version": "2008-10-17", 
    "Id": "Policy123", 
    "Statement": [ 
     { 
      "Sid": "Stmt123", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": [ 
       "s3:GetObjectVersion", 
       "s3:DeleteObject", 
       "s3:DeleteObjectVersion", 
       "s3:GetObject", 
       "s3:PutObject" 
      ], 
      "Resource": "arn:aws:s3:::my_bucket/*" 
     } 
    ] 
} 

voglio limitare l'accesso a queste azioni per essere consentito solo quando la richiesta proviene dal mio sito web. È semplicemente un caso di aggiornamento a: "Principal": {"AWS": "mywebsite.com"}?

risposta

7

Si possono vedere alcuni esempi in S3 Documentations

Per limitare l'accesso dal tuo sito web, è possibile utilizzare la condizione Referente:

{ 
    "Version":"2008-10-17", 
    "Id":"http referer policy example", 
    "Statement":[ 
    { 
     "Sid":"Allow get requests referred by www.mysite.com and mysite.com", 
     "Effect":"Allow", 
     "Principal":"*", 
     "Action":"s3:GetObject", 
     "Resource":"arn:aws:s3:::example-bucket/*", 
     "Condition":{ 
     "StringLike":{ 
      "aws:Referer":[ 
      " http://www.mysite.com/*", 
      " http://mysite.com/*" 
      ] 
     } 
     } 
    } 
    ] 
} 
+0

Questo impedisce me aprire i file dal mio sito, purtroppo, – rigyt

+0

Verificare di averlo digitato correttamente: aws: Referer-Come il campo di riferimento HTTP. Verifica inoltre che l'URL del tuo sito sia inviato nel formato giusto. Rimuovi la condizione e controlla le intestazioni delle immagini. – Guy

+0

Come posso controllare il formato in cui viene inviato l'URL del mio sito? Non riesco ad aprire gli allegati di paperclip dal sito ogni volta che inserisco il referrer in :-( – rigyt

Problemi correlati