2015-09-30 41 views
5

Ho creato un bucket in Amazon S3 e ho caricato 2 file in esso e li ho resi pubblici. Ho i collegamenti attraverso i quali posso accedervi da qualsiasi luogo su Internet. Ora voglio mettere qualche restrizione su chi può scaricare i file. Qualcuno può aiutarmi per favore. Ho provato la documentazione, ma sono confuso.Autenticazione download Amazon S3

Voglio che al momento del download utilizzando il collegamento pubblico dovrebbe chiedere alcune credenziali o qualcosa per autenticare l'utente in quel momento. È possibile?

risposta

9

Per impostazione predefinita, tutti gli oggetti in Amazon S3 sono privati. È quindi possibile aggiungere autorizzazioni in modo che le persone possano accedere ai propri oggetti. Questo può essere fatto attraverso:

  • Access Control List autorizzazioni per singoli oggetti Criteri di
  • Una Benna
  • Utenti IAM e gruppi
  • un URL pre-Signed

Finché a almeno uno di questi metodi sta concedendo l'accesso, i tuoi utenti saranno in grado di accedere agli oggetti da Amazon S3.

1. Elenco di controllo di accesso a singoli oggetti

L'opzione Make Public nella console di gestione di Amazon S3 concederà Open/Download autorizzazioni a tutti gli utenti Internet. Questo può essere usato per garantire l'accesso pubblico a oggetti specifici.

2. politica benna

Un Bucket Policy può essere utilizzato per concedere l'accesso a un intero secchio o una porzione di un secchio. Può anche essere usato per specificare i limiti di accesso. Ad esempio, un criterio potrebbe rendere pubblica una specifica directory all'interno di un bucket per gli utenti da un intervallo specifico di indirizzi IP, in particolari momenti della giornata e solo quando accede al bucket tramite SSL.

Un criterio bucket è un buon modo per concedere l'accesso pubblico a molti oggetti (ad esempio una directory specifica) all'interno di dover specificare le autorizzazioni su ogni singolo oggetto. È comunemente usato per siti web statici serviti da un bucket S3.

3. Gli utenti IAM e gruppi

Questo è simile alla definizione di una politica di benna, ma i permessi sono assegnati a specifici utenti o gruppi di utenti. Pertanto, solo quegli utenti hanno il permesso di accedere agli oggetti. Gli utenti devono autenticarsi durante l'accesso agli oggetti, quindi questo è più comunemente utilizzato quando si accede agli oggetti tramite l'API AWS, come ad esempio l'uso dei comandi aws s3 da AWS Command-Line Interface (CLI).

Anziché richiedere l'autenticazione, gli utenti devono fornire l'autenticazione quando effettuano la chiamata API. Un modo semplice per farlo è quello di memorizzare le credenziali dell'utente in un file di configurazione locale, che verrà utilizzato automaticamente dalla CLI quando si chiama l'API S3.

4.URL

pre-firmato un Pre-Signed URL può essere utilizzato per concedere l'accesso agli oggetti S3 come un modo di "imperativi" controlli di accesso. È possibile accedere a un oggetto normalmente privato tramite un URL aggiungendo un tempo di scadenza e una firma. Questo è un ottimo modo per servire contenuti privati ​​senza richiedere un server web.

In genere, un URL pre-firmato viene creato da un'applicazione quando desidera concedere l'accesso a un oggetto. Ad esempio, supponiamo di avere un sito Web di condivisione delle foto e che un utente si sia autenticato sul tuo sito web. Ora desideri mostrare le loro immagini in una pagina web. Le immagini sono normalmente private, ma l'applicazione può generare URL pre-firmati che concedono loro l'accesso temporaneo alle immagini. L'URL pre-firmato scadrà dopo una determinata data/ora.