Come faccio ad attivare l'autenticazione IAM per le REST API in Gateway API?

4 minuti di lettura
0

Desidero attivare l'autenticazione AWS Identity and Access Management (IAM) per l'accesso alla mia REST API in Gateway Amazon API (Gateway API). Come faccio a configurarla?

Breve descrizione

Attiva l'autenticazione IAM per un metodo API nella console Gateway API. Quindi, utilizza le policy IAM e le policy delle risorse per designare le autorizzazioni per gli utenti della tua API.

Per ulteriori informazioni sulle diverse funzionalità di sicurezza disponibili in Gateway API, consulta la pagina Controllo e gestione degli accessi a un'API REST in API Gateway.

Risoluzione

Attiva l'autenticazione IAM per la tua REST API

1.    Nella console Gateway API, scegli il nome della tua API.

2.    Nel riquadro Risorse, scegli un metodo (ad es. GET o POST) per il quale desideri attivare l'autenticazione IAM.

3.    Nel riquadro Esecuzione metodo, scegli Richiesta metodo.

4.    In Impostazioni, per Autorizzazione scegli l'icona a forma di matita (Modifica). Quindi, seleziona AWS_IAM dall'elenco a discesa e poi l'icona del segno di spunta (Aggiorna).

5.    (Facoltativo) Ripeti i passaggi da 2 a 4 per ogni metodo API per cui desideri attivare l'autenticazione IAM.

6.    Distribuisci la tua API affinché le modifiche abbiano effetto.

7.    Nel riquadro Stage Editor, copia l'URL di richiamo. Questo ti servirà in un secondo momento per il test.

Per ulteriori informazioni consulta le pagine Configurazione di un metodo mediante la console API Gateway e Ottenere l'URL di richiamo di un'API in Amazon API Gateway.

Concedi l'autorizzazione API a un gruppo di utenti IAM

1.    Stabilisci le autorizzazioni che desideri concedere agli utenti della tua API. Per maggiori dettagli, consulta la pagina Controllo degli accessi a un'API con le autorizzazioni IAM.

2.    Crea una policy IAM che includa le autorizzazioni richieste. Puoi trovare esempi e indicazioni sulla formattazione nei seguenti articoli:
Controllo degli accessi per invocare un'API
Esempi di policy IAM per le autorizzazioni di esecuzione API
Esempi di policy basate su identità di Amazon API Gateway
Nota: per completare le istruzioni di test alla fine di questo articolo, è necessario consentire le autorizzazioni di richiamata.

3.    Collega la tua policy IAM a un gruppo IAM effettuando una delle seguenti operazioni:
Collega la policy a un gruppo di utenti IAM esistente.
-oppure-
Collega la policy quando crei un nuovo gruppo IAM.

Per ulteriori informazioni, consulta la pagina Creare e collegare una policy a un utente IAM.

Nota: è consigliabile concedere l'accesso a livello di gruppo IAM.

(Facoltativo) Configura una policy delle risorse Gateway API

Per gestire gli accessi alla tua API, puoi anche utilizzare le policy delle risorse API (autorizzazioni basate sulle risorse) insieme alle policy IAM (autorizzazioni basate sull'identità). Per ulteriori informazioni, consulta le pagine Autenticazione IAM e policy delle risorse e Policy basate sulle identità e policy basate su risorse.

Importante: se neghi l'accesso alla tua API con un tipo di policy IAM e consenti l'accesso con un altro tipo di policy, l'accesso verrà negato. Per ulteriori informazioni, consulta la pagina Tabelle dei risultati della valutazione delle policy.

Invia una richiesta per testare le impostazioni di autenticazione

Usa l'app Postman per inviare una richiesta alla tua risorsa API utilizzando il metodo per cui hai attivato l'autenticazione IAM.

Nota: per autenticare manualmente le richieste inviate a Gateway API utilizzando un altro strumento o ambiente, usa il processo di firma Signature Version 4. Per ulteriori informazioni, consulta la pagina Firma delle richieste.

1.    Su Postman, nella scheda Autorizzazione, procedi come indicato di seguito:
In Tipo, scegli AWS Signature.
In AccessKey e SecretKey inserisci l'ID della chiave di accesso e la chiave di accesso segreta IAM per un utente IAM. Quest'ultimo deve appartenere al gruppo IAM che ha accesso alla tua API.

2.    Nel campo Inserisci URL della richiesta, incolla l'URL di richiamo della tua API. Se hai attivato l'autenticazione IAM su un metodo per una particolare risorsa API, aggiungi il nome della risorsa alla fine dell'URL di richiamo.

Nota: l'URL completo della richiesta con il nome della risorsa ha un aspetto simile a questo: https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

Una richiesta autenticata restituirà il codice di risposta 200 OK. Una richiesta non autorizzata restituirà il messaggio Token di autenticazione mancante e un codice di risposta 403 Forbidden.


Informazioni correlate

Come le policy delle risorse API Gateway influiscono sul flusso di lavoro delle autorizzazioni