Home» Blog» Amazon AWS – Servizio S3 (Sviluppatori – credenziali di accesso)
Riferimenti di accesso

Nell’articolo scritto precedentemente abbiamo visto gli argomenti generali del servizio di Amazon S3 come il bucket, gli objects, le regioni, il Reduced Redundancy Storage e le politiche di sicurezza, ma dato che lo scopo di questo percorso di articoli dedicato al sistema S3 è quello di sviluppare da soli delle applicazioni tramite degli scripts come ad esempio PHP adesso dobbiamo affrontare il primo passo necessario e cioè quello della autenticazione al servizio. Ovviamente come già detto dobbiamo avere un’account su Amazon AWS.

Credenziali di accesso: In questo momento esistono tre tipologie di accesso quella tramite Account Amazon che è quella più usata, un’altra tramite IAM user ed infine la possibilità di creare una chiave di accesso temporanea che scade da sola dopo un periodo di tempo prestabilito.

  • Account Amazon: vengono usate le chiavi di accesso del tuo account personale che possono essere prelevate una volta loggati su amazon aws sul tab “Account” e selezionato la voce “Security Credentials”, qui troverete l’Access Key ID (20 caratteri) e la Secret Acces Key (40 caratteri)  ad esempio: kWcrlUX5JEDGM/LtmEENI/aVmYvHNif5zB+d9+ct.
  • IAM User Security Credentials: Se hai un account aziendale dove gestisci diversi utenti puoi usare nei programmi di autenticazione le chiavi di uno specifico utente, in maniera tale da controllare gli accessi su S3 in maniera differente in base all’utilizzatore del tuo script. Per usare il servizio IAM seleziona la tab apposita che trovi sulla barra orizzontale principale del tuo pannello di amministrazione su amazon aws console.
  • Temporary Security Credentials: Sempre tramite il servizio IAM puoi creare delle chiavi di accesso da far utilizzare per il servizio S3 agli account di accesso che durano solo per un periodo di tempo. Per documentazione -> ( AWS Identity and Access Management ).

Adesso che abbiamo le chiavi di accesso e sappiamo come prenderle eseguiamo il primo programma di accesso s3 per ottenere una lista di oggetti dentro un bucket. In questo esempio userò SDK PHP per amazon web service che puoi scaricare da –> ( questo link ). In ogni caso se utilizzi linguaggi di programmazione diversi troverai a disposizione pacchetti per Java, PHP, Python, Ruby, Windows & .NET e Mobile. Insomma una bella varietà di scelta.

/* Accesso ad un bucket S3 */
$s3 = new AmazonS3($AccessKeyId, $SecretAccessKey);
$response = $s3->get_object_list($bucket);

/* Accesso ad un bucket S3 pubblico non necessita di chiavi */
$s3 = new AmazonS3();
$response = $s3->get_object_list($bucketpublic);

REST API: Vi riporto anche un esempio della documentazione ufficiale di una richiesta S3 per vedere dove vengono specificate le chiavi di accesso utilizzando il protocollo REST API. Questa procedura è sicuramente più complessa ma permette di effettuare delle richieste ai servizi di amazon senza avere a disposizione un pacchetto di framework specifico. Ovviamente dato che la richiesta viaggia  in chiaro le chiavi sono specificate tramite una “signature”.

DELETE /puppy.jpg HTTP/1.1
User-Agent: dotnet
Host: mybucket.s3.amazonaws.com
Date: Tue, 15 Jan 2008 21:20:27 +0000
x-amz-date: Tue, 15 Jan 2008 21:20:27 +0000
Authorization: AWS 0PN5J17HBGZHT7JJ3X82:k3nL7gH3+PadhTEVn5EXAMPLE <-- Qui

Di seguito vi riporto lo schema di flusso della documentazione ufficiale di amazon per la creazione di una richiesta REST e delle fasi di elaborazione necessarie:



Browser-Based Uploads Using POST: Nella maggior parte delle volte l’accesso avviene nella seguente maniera: il browser fa una richiesta al server, il server elabora un operazione S3 e rimanda il risultato dell’operazione al browser, però ci possono essere dei casi dove il browser potrebbe eseguire un comando di scrittura su S3 direttamente senza passare dal server, se volete approfondire questo aspetto andate su Browser-Based Uploads Using POST.

Autore:
Articoli:
57
Website:
http://startbyzero.com/
Nato a Roma nel 1968, appassionato di informatica da subito con il primo acquisto di un Sinclair ZX Spectrum, programmatore e sistemista su sistemi IBM iSeries, sviluppatore di procedure web con PHP e MySQL, grande utilizzatore e stimatore dei prodotti Google ed Amazon AWS. Attualmente vive in Perù nella città di Lima, da dove porta avanti il suo progetto favorito riguardante il blog multitematico di startbyzero.com.

Condividi

Commenti

Scrivi un tuo commento o qualche consiglio