AWS, Lambda, API Gateway & Authorization API Key

In questo ultimo periodo ho deciso di mettere a confronto lo sviluppo tramite Azure Functions con le alternative proposte da altri Cloud. In questo articolo mostrero’ come ho affrontato un punto -a mio avviso fondamentale- sulle AWS Lambda.
Arrivando dal mondo Azure il concetto di protezione di una Function e’ veramente semplice. Nel momento in cui scrivi un HTTP Trigger viene fatto in automatico tramite AuthorizationLevel, ma qua non e’ propriamente cosi.
Sperando di non avere dimenticato dei passaggi, ho sintetizzato la procedura in CINQUE passaggi chiave piu’ uno a seguire per i test.
Siete pronti a cominciare?
AWS Lambda
Lambda - Creazione
In questo primo passaggio dal portale AWS Cloud dobbiamo creare una nuova AWS Lambda di test.
Per questo passaggio -come mostrato nella figura precedente- ho utilizzato il template di default “Crea da Zero - Inizia con un semplice esempio di Hello World.” senza avere fatto nessuna modifica.
Il nome che ho assegnato alla Lambda -con enorme fantasia- e’ stato: awsHelloWorld
Trigger
Una volta creata la Lambda non ci resta che selezionare Aggiungi Trigger per creare il nostro Gateway API.
Come vedete a sinistra della Lambda awsHelloWorld e’ presente la voce + Aggiungi Trigger e selezionandola dobbiamo selezionare **Gateway API **.
Gateway API
Gateway - Creazione
Il passaggio successivo e’ la creazione del nostro Gateway API per potere chiamare la nostra Lambda dall’esterno tramite HTTP Trigger.
Rispetto alla soluzione proposta di default ho effettuato due modifiche:
- Tipo di API: API Rest
- Sicurezza: Chiave di API
ed una volta effettuato le modifiche vi bastera’ fare click su Aggiungi.
Gateway API Key
Una volta aggiunto il nostro Gateway API non dobbiamo fare altro che selezionare sulla colonna di sinistra la voce Chiavi API.
Nella parte di destra a questo punto dovrete selezionare la key specifica della vostra Lambda (nel mio caso awsHelloWorld-key) e fare click su mostra per potere vedere la chiave nascosta.
Distribuzione
Restando nella stessa sezione non dobbiamo fare altro che selezionare la voce Risorse.
Troverete una drop down chiamata Operazioni e da essa dobbiamo selezionare Distribuisci l’API e selezionare la fase da noi desiderata. Nel mio caso ho selezionato default
A questo punto -se tutto e’ andato per il verso migliore- siete pronti per il test finale!
ENDPoint & x-api-key
Come ultimo passaggio vi consiglio di verificare quanto appena fatto chiamando l’entry point generato e l’API Key ottenuta dai passaggi precedenti. Come? Per farlo utilizzeremo curl da linea di comando.
|
|
Nel mio caso -e spero anche nel vostro- dovreste vedere apparire Hello from Lambda! come per magia!