Cos'è una chiave API?
Una chiave API è una stringa alfanumerica che gli sviluppatori di API utilizzano per controllare l'accesso alle proprie API. Un'API è un meccanismo di comunicazione che consente lo scambio di dati tra due moduli software. Dopo aver creato un'API per il modulo, altri sviluppatori di applicazioni possono richiamarla per integrare la funzionalità nel proprio codice. Ad esempio, è possibile sviluppare un modulo che prenda come input un elenco di articoli e restituisca un elenco di negozi in cui è possibile acquistarli al prezzo più conveniente. Un'applicazione di e-commerce potrebbe quindi utilizzare l'API dell'utente per generare un elenco di offerte alimentari giornaliere per i propri clienti. In qualità di creatore dell'API, l'utente utilizza le chiavi API per limitarne e monitorarne l'accesso. La chiave API ne identifica l'utilizzo autorizzato, in modo che l'utente possa mantenere, gestire e monetizzare le API in modo più efficiente.
Quali sono i casi d'uso per le chiavi API?
Gli sviluppatori di software utilizzano le chiavi API per gestire l'accesso alle API che creano. Le chiavi API contribuiscono allo sviluppo di moderne applicazioni cloud in diversi modi.
Monitoraggio dell'utilizzo delle API
I provider di API utilizzano le chiavi API per tracciare l'utilizzo e gestire il consumo delle API, in particolare per le applicazioni commerciali. Fatturano agli utenti le risorse informatiche consumate dall'API.
Come provider di API, puoi limitare l'accesso ai servizi dell'API con chiavi API uniche. Consentendo il passaggio solo del traffico legittimo, puoi ottimizzare l'utilizzo delle risorse e la capacità della larghezza di banda dell'API. Puoi anche analizzare le statistiche di utilizzo di ogni chiave per regolare le quote dei diversi piani.
Risolvere i problemi relativi alle integrazioni delle API
Le applicazioni cloud potrebbero presentare problemi tecnici a causa delle API utilizzate. Gli sviluppatori di software utilizzano le chiavi API per rilevare modelli di dati anomali e abbinare il traffico API ai rispettivi provider. In questo modo possono identificare e isolare l'API specifica che impedisce a un'applicazione di comportarsi correttamente.
Identificare i progetti
Le applicazioni software scambiano dati sensibili con servizi esterni tramite un'API. Le chiavi API fungono da meccanismo di autorizzazione del progetto per regolare l'utilizzo da parte dei progetti consentiti. Per utilizzare un'API, il progetto deve presentare le credenziali API corrette per accedere alle funzioni software astratte. È importante notare che le chiavi API non autenticano utenti specifici. Identificano invece in generale l'organizzazione che viene associata a una chiave specifica.
Come funziona una chiave API?
La chiave API è composta da caratteri alfabetici e numeri generati casualmente. Associ una chiave API specifica a un client API specifico. Dato che l'utilizzo dell'API è essenzialmente un modulo software che comunica con un altro, le chiavi sono associate a diversi moduli software o applicazioni che vogliono comunicare con l'API.
Quando un'applicazione invia richieste API, il processo funziona come segue:
- Il server API convalida l'autenticità del richiedente con la chiave API univoca
- Se la chiave API non corrisponde a nessuna di quelle consentite, il server rifiuta la chiamata API e invia un messaggio di rifiuto
- Se la chiave API corrisponde, il server soddisfa la richiesta e restituisce la risposta prevista
In questo modo, le chiavi API consentono al server API di identificare l'origine di ogni chiamata API. Il server può quindi eseguire convalide successive per autorizzare l'accesso ai dati e ai servizi dell'API.
Limitazione delle chiamate API
I provider di API possono utilizzare la chiave API per regolare diversi gradi di accesso ai propri servizi API. Dopo aver convalidato una richiesta, il server API può controllare alcuni parametri prima di consentire un ulteriore accesso ai suoi servizi.
Estensione del servizio
Il server determina l'estensione dei servizi che può concedere all'applicazione richiedente. Ad esempio, alcune chiavi API consentono al richiedente di aggiungere, eliminare e leggere informazioni dall'archivio dati dell'API. Altre potrebbero limitare le chiamate API alla sola lettura delle informazioni.
Scelta delle funzioni
Il server determina e impone l'ambito della chiamata API per personalizzare i propri servizi API. Ad esempio, puoi utilizzare le chiavi API per limitare un'applicazione di e-commerce alla ricerca di dati dei prodotti in paesi specifici. Puoi anche associare chiavi API specifiche a determinati filtri parametrici del database, come libri e abbigliamento.
Numero di chiamate
I provider di API utilizzano le chiavi API anche per regolare rigorosamente l'accesso alle API. Alcuni provider applicano limiti di tempo o di richieste alle proprie API. In questi casi, l'applicazione client può utilizzare l'API solo per la durata stabilita, oppure fino a un numero fisso al giorno. Una volta superati i limiti, il server rifiuta qualsiasi richiesta proveniente dalle chiavi API associate.
Qual è la differenza tra una chiave API e un token API?
Una chiave API è una stringa di identificatori univoci destinata principalmente a identificare il traffico delle applicazioni dai client API. Le chiavi API sono in genere associate a server specifici sui quali viene implementata l’applicazione in chiamata. Quando l'applicazione effettua una richiesta API, il server identifica l'applicazione in chiamata tramite la chiave API.
Al contrario, un token API è una stringa di codici che contiene dati completi che identificano un utente specifico. I token API agiscono anche per garantire l’accesso a un utente specifico. Ciò consente al server di autenticare le richieste dell'utente in chiamata e di convalidare l'estensione dell'utilizzo dell'API. Ad esempio, un utente può utilizzare un token ad accesso singolo per accedere a un gruppo di API.
La creazione di una chiave API è più semplice, dato il suo ruolo limitato all'autorizzazione degli utenti. Al contrario, esistono più restrizioni e procedure quando si concedono token API, poiché questi contengono dati di identificazione e autenticazione.
Su Amazon Web Services (AWS), i token API sono anche chiamati token di autenticazione o token di sicurezza. Gli sviluppatori utilizzano le autorizzazioni IAM, un autorizzatore Lambda o un pool di utenti Amazon Cognito per creare token API e gestire l'accesso alle API.
Quali sono le best practice per le chiavi API?
Esistono alcune best practice da tenere a mente quando utilizzi le chiavi API.
Evita di utilizzare chiavi API per l'autenticazione degli utenti. Le chiavi API non sono destinate alla regolazione dell’accesso degli utenti. Allo stesso modo, non includere informazioni riservate nelle chiavi API perché queste potrebbero essere visibili durante la trasmissione.
Non incorporare le chiavi API direttamente nel codice sorgente o nel repository. Se ti dimentichi di rimuoverle, potrebbero essere visibili al pubblico quando rilasci l'applicazione.
Elimina le chiavi API quando non sono più in uso. Valuta l’eventualità di aggiungere una scadenza alle chiavi per maggiore sicurezza delle API.
In che modo AWS può aiutarti nella gestione delle chiavi API?
Amazon Web Services (AWS) offre Amazon API Gateway per le tue esigenze di gestione delle chiavi API.
Puoi utilizzare API Gateway per creare, pubblicare, gestire, monitorare e proteggere le API REST, HTTP e WebSocket a prescindere dalla scala. Gli sviluppatori possono creare API che accedono ad AWS o ad altri servizi Web, nonché ai dati archiviati nel cloud AWS.
Dopo aver creato, testato e distribuito le API, puoi utilizzare i piani di utilizzo di API Gateway per renderle disponibili come offerte di prodotti per i tuoi clienti. Puoi configurare piani di utilizzo e chiavi API per consentire ai tuoi clienti di accedere alle API selezionate. Puoi inoltre iniziare a limitare le richieste a tali API in base a limiti e quote predefiniti.
Inizia a utilizzare oggi stesso la gestione delle chiavi API su AWS creando un account
Passaggi successivi su AWS
Ottieni accesso istantaneo al Piano gratuito di AWS.