Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso consentire solo a indirizzi IP specifici di accedere alla mia REST API di Gateway API?
Desidero consentire l'accesso alla mia REST API di Gateway Amazon API solo a indirizzi IP specifici.
Breve descrizione
Per consentire solo a indirizzi IP specifici di accedere alla REST API, crea una policy delle risorse che neghi l'accesso a tutti gli altri indirizzi IP.
Dopo aver collegato la policy delle risorse alla REST API, gli utenti con autorizzazioni possono chiamare l'API da specifici indirizzi IP. L'API nega le chiamate da qualsiasi altro indirizzo IP e mostra un errore "HTTP 403 Forbidden".
Per bloccare specifici indirizzi IP e consentire l'accesso a tutti gli altri, consulta Esempio: negare il traffico API in base all'indirizzo IP di origine o a un intervallo di indirizzi IP.
Nota: puoi utilizzare le policy delle risorse per le API HTTP di Gateway API.
Risoluzione
Configura un metodo API
Per verificare l'accesso, utilizza la REST API di Gateway API esistente o crea un esempio di REST API. Se utilizzi l'esempio di API PetStore, procedi con Crea e collega una policy delle risorse.
Per creare una simulazione di integrazione per la REST API esistente, completa i seguenti passaggi:
- Apri la console Gateway API.
- Scegli la REST API.
- Nel pannello Risorse, in Metodi, scegli Crea metodo.
- Per Tipo di metodo, seleziona QUALSIASI.
- Per Tipo di integrazione, scegli HTTP.
Nota: l’integrazione fittizia risponde a qualsiasi richiesta che le pervenga. - Scegli Crea metodo.
Crea e collega una policy delle risorse
Completa i seguenti passaggi:
- Apri la console Gateway API.
- Scegli la REST API.
- Nel pannello di navigazione, seleziona Policy delle risorse.
- Scegli Crea policy.
- In Policy delle risorse, inserisci la seguente policy delle risorse:
Nota: sostituisci sourceIpOrCIDRBlock con gli indirizzi IP a cui desideri concedere l'accesso. Utilizza una notazione CIDR per specificare un intervallo di indirizzi IP, ad esempio ["52.95.36.0/22", "15.230.39.196/31", "52.93.178.219/32"]. La condizione aws:SourceIp funziona solo per intervalli di indirizzi IP pubblici. Per consentire l'accesso a intervalli di indirizzi IP privati, utilizza invece il valore della condizione aws:VpcSourceIp. In aws:VpcSourceIp, inserisci l'indirizzo IP privato del client HTTP che invoca l'endpoint API privato tramite l'endpoint VPC (Virtual Private Cloud) di interfaccia. Puoi invocare gli endpoint API privati in Gateway API esclusivamente tramite un endpoint VPC di interfaccia.{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*/*/*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*/*/*", "Condition": { "NotIpAddress": { "aws:SourceIp": ["sourceIpOrCIDRBlock", "sourceIpOrCIDRBlock"] } } } ] } - Scegli Salva modifiche.
Per trovare gli indirizzi IP privati che chiamano la REST API, consulta Che cos'è Amazon CloudWatch Logs? Per ulteriori informazioni, consulta Tutorial: visualizza i log di CloudWatch.
Distribuisci l'API
Completa i seguenti passaggi:
- Apri la console Gateway API.
- Scegli la REST API.
- Nel pannello Risorse della REST API, seleziona Distribuisci l'API.
- In Fase della distribuzione, scegli Nuova fase.
- In Nome fase, inserisci un nome. Ad esempio, inserisci v1 or demo.
- Scegli Distribuisci.
Importante: devi ridistribuire la REST API ogni volta che modifichi la policy delle risorse.
Verifica la policy delle risorse
In base al sistema operativo in uso, esegui uno di questi comandi per verificare un ambiente con un indirizzo IP consentito.
Ambienti Linux, Unix e macOS:
curl -IX GET https://yourInvokeUrl/
Windows PowerShell:
curl https://yourInvokeUrl/
Nota: sostituisci https://yourInvokeUrl/ con l’URL di invocazione della tua REST API.
Se la policy delle risorse è configurata correttamente, l'ambiente autorizzato riceve una risposta "HTTP 200 OK". Esegui nuovamente lo stesso comando da un ambiente senza un indirizzo IP consentito. Un ambiente non consentito deve ricevere un errore "HTTP 403 Forbidden".
Per verificare la policy delle risorse, puoi anche utilizzare l'app Postman sul sito web Postman.
Nota: se non hai accesso a più ambienti, avvia un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Quindi aggiungi l'indirizzo IP dell'istanza alla policy delle risorse dell'API e ridistribuisci l'API.
Informazioni correlate
Creare e allegare una politica di risorse API Gateway a un'API
Esempi di politica sulle risorse di API Gateway
Panoramica della sintassi delle policy di accesso per Gateway Amazon API
- Lingua
- Italiano
Video correlati

