Piani di utilizzo e chiavi API per REST API in Gateway API
Dopo aver creato, sottoposto a test e distribuito le API, puoi usare i piani di utilizzo di API Gateway per renderle disponibili come offerte per i clienti. Puoi configurare piani di utilizzo e chiavi API per permettere a clienti di accedere ad API selezionate e iniziare a limitare le richieste a tali API sulla base di limiti e quote definiti. Questi possono essere impostati a livello API o metodo API.
Cosa sono i piani di utilizzo e le chiavi API?
Un piano di utilizzo consente di specificare chi può accedere a una o più fasi e metodi API distribuiti, inclusa la frequenza di richiesta di destinazione per iniziare a limitare le richieste. Il piano utilizza chiavi API per identificare client API e chi può accedere akke fasi API associate a ciascuna chiave.
Le chiavi API sono valori stringa alfanumerici che vengono distribuiti ai clienti degli sviluppatori di applicazioni per concedere l'accesso all'API. Puoi utilizzare le chiavi API insieme ai provider di autorizzazioni per Lambda, ruoli IAM o Amazon Cognito per controllare l'accesso alle API. API Gateway può generare chiavi API per tuo conto o puoi importarle da un file CSV. Puoi generare una chiave API in API Gateway o importarla in API Gateway da un'origine esterna. Per ulteriori informazioni, consulta Configurazione di chiavi API per REST API in Gateway API.
Una chiave API ha un nome e un valore. I termini "chiave API" e "valore di chiave API" vengono spesso usati in modo intercambiabile. Il nome non può superare 1024 caratteri. Il valore è una stringa alfanumerica tra 20 e 128 caratteri, ad esempio, apikey1234abcdefghij0123456789
.
Importante
I valori di chiave API devono essere univoci. Se provi a creare due chiavi API con nomi diversi e lo stesso valore, queste vengono considerate da API Gateway la stessa chiave API.
Una chiave API può essere associata a più piani di utilizzo. Un piano di utilizzo può essere associato a più fasi. Tuttavia, una determinata chiave API può essere associata a un solo piano di utilizzo per ogni fase dell'API.
Un limite di throttling imposta il punto di destinazione in cui dovrebbe iniziare la limitazione delle richieste. Può essere impostato a livello API o metodo API.
Un limite di quota è il numero massimo di richieste con una determinata chiave API che possono essere inviate in un intervallo di tempo specificato. Puoi configurare singoli metodi API per richiedere l'autorizzazione per le chiavi API in base alla configurazione del piano di utilizzo.
I limiti di throttling e di quote si applicano alle richieste per le singole chiavi API che vengono aggregate nelle fasi API in un piano di utilizzo.
Nota
I piani di utilizzo della limitazione (della larghezza di banda della rete) e le quote non sono limiti rigidi e vengono applicati sulla base del miglior tentativo. In alcuni casi, i client possono superare le quote impostate. Non fare affidamento sulle quote del piano di utilizzo o limitazione (della larghezza di banda della rete) per controllare i costi o bloccare l'accesso a un'API. Considerare l’utilizzo di Budget AWS per monitorare i costi e AWS WAF gestire le richieste API.
Best practice per le chiavi API e i piani di utilizzo
Di seguito vengono fornite le best practice da seguire quando usi chiavi API e piani di utilizzo.
Importante
-
Non utilizzare le chiavi API per l'autenticazione o l'autorizzazione per il controllo degli accessi alle API. Se un piano di utilizzo include più API, un utente con una chiave API valida per un'API nel piano di utilizzo potrà accedere a tutte le API nel piano di utilizzo. Per controllare gli accessi all'API, utilizza invece un ruolo IAM, un sistema di autorizzazione Lambda o un pool di utenti di Amazon Cognito.
-
Utilizzare le chiavi API generate da API Gateway. Le chiavi API non devono includere informazioni riservate; i client in genere le trasmettono in intestazioni che possono essere registrate.
-
Se si utilizza un portale per gli sviluppatori per pubblicare le API, occorre tenere presente che tutte le API in un piano di utilizzo specifico sono sottoscrivibili dai clienti, anche se non sono visibili ai clienti.
-
In alcuni casi, i client possono superare le quote impostate. Non fare affidamento sui piani di utilizzo per controllare i costi. Considera l'utilizzo di Budget AWS per monitorare i costi e di AWS WAF per gestire le richieste API.
-
Dopo aver aggiunto una chiave API a un piano di utilizzo, il completamento dell'operazione di aggiornamento potrebbe richiedere alcuni minuti.