Dai priorità alla sicurezza delle API - Architetture multilivello AWS serverless con Amazon API Gateway e AWS Lambda

Questo white paper è solo a scopo di riferimento storico. Alcuni contenuti potrebbero essere obsoleti e alcuni collegamenti potrebbero non essere disponibili.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Dai priorità alla sicurezza delle API

Tutte le applicazioni devono garantire che solo i clienti autorizzati abbiano accesso alle proprie risorse API. Quando progetti un'applicazione multilivello, puoi sfruttare diversi modi in cui Amazon API Gateway contribuisce a proteggere il tuo livello logico:

Sicurezza del transito

Tutte le richieste APIs possono essere effettuate tramite HTTPS per abilitare la crittografia in transito.

API Gateway fornisce SSL/TLS certificati integrati: se utilizzi l'opzione del nome di dominio personalizzato per l'accesso pubblico APIs, puoi fornire il tuo SSL/TLS certificato utilizzando AWS Certificate Manager. API Gateway supporta anche l'autenticazione TLS reciproca (mTLS). Mutual TLS migliora la sicurezza dell'API e aiuta a proteggere i dati da attacchi come lo spoofing dei client o gli attacchi intermedi. man-in-the

Autorizzazione dell'API

A ogni resource/method combinazione che crei come parte della tua API viene assegnato un Amazon Resource Name (ARN) univoco a cui puoi fare riferimento nelle policy AWS Identity and Access Management (IAM).

Esistono tre metodi generali per aggiungere l'autorizzazione a un'API in API Gateway:

  • Ruoli e policy IAM: i clienti utilizzano l'autorizzazione AWS Signature Version 4 (SigV4) e le policy IAM per l'accesso alle API. Le stesse credenziali possono limitare o consentire l'accesso ad altri AWS servizi e risorse in base alle esigenze (ad esempio, bucket Amazon S3 o tabelle Amazon DynamoDB).

  • Pool di utenti Amazon Cognito: i clienti accedono tramite un pool di utenti di Amazon Cognito e ottengono i token, che sono inclusi nell'intestazione di autorizzazione di una richiesta.

  • Autorizzatore Lambda: definisce una funzione Lambda che implementa uno schema di autorizzazione personalizzato che utilizza una strategia bearer token (ad esempio OAuth e SAML) o utilizza parametri di richiesta per identificare gli utenti.

Restrizioni di accesso

API Gateway supporta la generazione di chiavi API e l'associazione di queste chiavi con un piano di utilizzo configurabile. Puoi monitorare l'utilizzo delle chiavi API con CloudWatch.

API Gateway supporta throttling, limiti di velocità e limiti di burst rate per ogni metodo dell'API.

Privato APIs

Utilizzando API Gateway, puoi creare REST privati a APIs cui puoi accedere solo dal tuo cloud privato virtuale in Amazon VPC utilizzando un endpoint VPC di interfaccia. Si tratta di un'interfaccia di rete dell'endpoint creata nel VPC.

Utilizzando le policy delle risorse, puoi abilitare o negare l'accesso alla tua API da endpoint selezionati VPCs e VPC, inclusi gli account AWS. Ogni endpoint può essere utilizzato per accedere a più endpoint privati. APIs Puoi inoltre utilizzare AWS Direct Connect per stabilire una connessione da una rete in locale ad Amazon VPC e accedere all'API privata durante tale connessione.

In tutti i casi, il traffico alla tua API privata utilizza connessioni sicure e non lascia la rete Amazon; è isolato dall'Internet pubblico.

Protezione firewall con AWS WAF

Le persone con accesso a Internet APIs sono vulnerabili agli attacchi dannosi. AWS WAF è un firewall per applicazioni Web che aiuta a proteggere APIs da tali attacchi. Protegge APIs da exploit web comuni come attacchi di SQL injection e cross-site scripting. Puoi utilizzarlo AWS WAFcon API Gateway per contribuire alla protezione APIs.