Salta al contenuto

Come posso 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).

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 REST API

  1. Nella console Gateway API, scegli il nome dell'API.
  2. Nel pannello Risorse, scegli un metodo (ad esempio, GET o POST) per il quale desideri attivare l'autenticazione IAM.
  3. Nel pannello 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 l'API affinché le modifiche abbiano effetto.
  7. Nel pannello Stage Editor (Editor di fase), copia l'URL di invocazione. Lo utilizzerai un secondo momento per il test.

Per ulteriori informazioni, consulta Configurazione di un metodo mediante la console Gateway API. e Ottenere l'URL di invocazione 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 dell'API. Per maggiori dettagli, consulta 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 di API
    Esempi di policy basate su identità di Gateway Amazon API
    Nota: per completare le istruzioni di test alla fine di questo articolo, devi concedere le autorizzazioni di invocazione.
  3. Collega la 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 all'API, puoi anche utilizzare le policy delle risorse Gateway 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 all'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, utilizza il processo di firma Signature Version 4. Per ulteriori informazioni, consulta Firma delle richieste.

  1. Su Postman, nella scheda Autorizzazione, procedi come indicato di seguito:
    In Tipo, scegli **AWS Signature . **Per 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 all'API.
  2. Nel campo Enter request URL (Inserisci URL della richiesta), incolla l'URL di invocazione dell'API. Se hai attivato l'autenticazione IAM su un metodo per una specifica risorsa API, aggiungi il nome della risorsa alla fine dell'URL di invocazione.

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