2009-04-19 30 views
10

Cercando di capire S3 ... Come si limita l'accesso a un file che si carica su S3? Ad esempio, da un'applicazione Web, ogni utente ha file che possono caricare, ma come limitare l'accesso in modo che solo l'utente abbia accesso a quel file? Sembra che l'autenticazione della stringa di query richieda una data di scadenza e che non funzioni per me, c'è un altro modo per farlo?Autorizzazioni Amazon S3

risposta

1

Si dovrà costruire la logica di accesso intero a S3 nelle applicazioni

14

Ci sono vari modi per controllare l'accesso agli oggetti S3:

  1. utilizzare la query stringa di autenticazione - ma come si notato questo richiede una data di scadenza. Potresti arrivare lontano nel futuro, che è stato abbastanza buono per la maggior parte delle cose che ho fatto.

  2. Utilizzare S3 ACLS, ma ciò richiede che l'utente abbia un account AWS e si autentichi con AWS per accedere all'oggetto S3. Questo probabilmente non è quello che stai cercando.

  3. L'utente esegue il proxy sull'accesso all'oggetto S3 tramite l'applicazione che implementa la logica di controllo degli accessi. Questo porterà tutta la larghezza di banda attraverso la tua scatola.

  4. È possibile impostare un'istanza EC2 con la logica del proxy, in modo da mantenere la larghezza di banda più vicina a S3 e ridurre la latenza in determinate situazioni. La differenza tra questo e il # 3 potrebbe essere minima, ma dipende dalla tua situazione particolare.

8
  1. Avere l'utente ha colpito il server
  2. avere il server di impostare un'autenticazione di query stringa con un breve scadenza (minuti, ore?)
  3. che il server reindirizzare # 2
0

Ho avuto a che fare anche con questo. Don, che ha scritto la classe S3 PHP che sto usando, ha sottolineato che è possibile utilizzare le directory all'interno dei bucket. Quindi puoi mettere il tuo file in una dir con una stringa casuale e poi reindirizzare a quello. mybucket.amazon.net/wef49kfe4j409jf4f9f9jdfd/myfile.zip Pur non essendo affatto sicuro, è possibile controllarne l'accesso modificando le autorizzazioni o creando ed eliminando (mantenere l'originale in modo sicuro in un secchio diverso) secondo necessità.