HomeBlogCos’è un'API key?
API Basics

Cos’è un'API key?

Application Programming Interface (API): cos’è una chiave API, come funziona e quando usarla

API key

La chiave API è una stringa che serve ad autenticare le applicazioni nel momento in cui eseguono una chiamata API. Per i servizi API che trattano dati sensibili le chiavi private sono un tassello fondamentale dell’architettura, poiché permettono fornire l’accesso soltanto a dati e servizi per cui si dispone di autorizzazione.

Le API key sono molto utilizzate anche per il monitoraggio e la gestione delle API: permettono infatti di tracciare l’utilizzo dei servizi da parte dei singoli client e di applicare limitazioni al numero di chiamate, prevenendo abusi e rischi per la sicurezza.

API key: cos’è?

Una chiave API (Application Programming Interface Key) è un identificatore univoco, generalmente una stringa di caratteri generati in modo casuale, che viene usata per autenticare i client e fornirgli l’accesso alle API.

L'applicazione aggiunge la sua API key a ogni richiesta diretta verso una certa API o verso un insieme di servizi API, che possono usare la chiave per identificare l'applicazione e autorizzare la richiesta.

L’API key è un codice da conservare con cura e va mantenuto riservato, esattamente come una password. A differenza di una password, però, la chiave API non fa riferimento a un utente reale e non deve essere modificata periodicamente per garantirne la sicurezza.

Chiavi API pubbliche e private: differenze e a che servono

Esistono due tipi principali di chiavi che vengono utilizzate per accedere a dati e servizi tramite API: quelle pubbliche e quelle private. 

Le chiavi API pubbliche sono quelle utilizzate per l’accesso a dati non sensibili e funzionalità che non richiedono autenticazione. Vengono generalmente usate per integrare funzionalità o servizi di altre applicazioni: sono per esempio quelle che permettono accedere alle mappe di Google Maps o alle funzionalità dei social.

L’utilità delle API key pubbliche è essenzialmente nel monitoraggio: vengono infatti usate per tracciare l’utilizzo dei servizi e applicare il rate limiting, limitando il numero di richieste che un utente può effettuare a una determinata API in un certo periodo di tempo.

Le API key private sono invece utilizzate per accedere a dati sensibili o a servizi di cui si vuole mantenere il controllo, come per esempio i servizi di pagamento. Queste chiavi vengono erogate dai fornitori di servizi API a un utente specifico e non devono essere condivise con altri.

A volte le chiavi pubbliche e private sono usate in coppia: avviene per esempio quando il client usa la chiave privata per generare una firma digitale da inserire nella richiesta. In questo caso, il server API può verificare la firma digitale ricorrendo alla chiave pubblica corrispondente. Usate così, le chiavi API consentono di risalire agli utenti specifici che hanno inviato le richieste, assicurando un elevato livello di sicurezza.

Come usare un API key?

Per poter usare una chiave API privata per l’accesso a un servizio erogato via API è necessario richiederla al soggetto che offre le API in questione. Il primo passo consiste nella creazione di un account presso il fornitore delle API (ad es. Openapi) e con la scelta del tipo di servizio che si vuole utilizzare. 

A quel punto il produttore fornisce la chiave, che deve essere copiata e conservata con la massima cura: nella maggior parte dei casi, infatti, la chiave è un dato a cui il fornitore non ha accesso, e quindi impossibile da recuperare nel caso in cui venga perso.

Ottenuta la chiave, basterà inserirla nelle richieste API: in base alle istruzioni del fornitore, la chiave può essere inserita nella query, nell’header o come cookie.

Quando usare le API key?

Usate da sole, le API key non sono il sistema di autenticazione più sicuro per le applicazioni API, perché consentono di individuare l’app chiamante ma non l’utente finale. Nei servizi che richiedono un maggiore livello di sicurezza, infatti, vengono utilizzate in associazione ad altre chiavi o a sistemi più elaborati come quelli tramite token, o OAuth.

Poché permettono di individuare l’app da cui provengono determinate richieste, le API key trovano grande utilità nei seguenti ambiti:

  • Sicurezza: impediscono l’accesso non autorizzato a dati e risorse;
  • Monitoraggio: permettono di monitorare l’utilizzo delle API da parte dei singoli utenti (utile a scopo di fatturazione ma anche per risolvere eventuali problemi);
  • Gestione: consentono di applicare un rate limit, cioè di limitare il numero di chiamate API che un client può fare in un certo periodo di tempo, prevenendo abusi e rischi per la sicurezza;
  • Automazione dei processi: in quanto tassello immutabile del proprio ecosistema API, la chiave permette di automatizzare le richieste e generare statistiche di utilizzo.

L’autenticazione tramite API key e token

Le API key sono un tassello fondamentale della sicurezza delle applicazioni web, poiché permettono di controllare l’accesso ai dati e monitorare l’utilizzo del software. D’altro canto, le chiavi API possono finire con l’essere condivise con terze parti e quindi non sono la forma di autenticazione e autorizzazione più sicura per un’applicazione.

Nell’architettura dei servizi Openapi, le API key vengono usate per la generazione di un token che consente l’accesso a una o più risorse per un determinato periodo di tempo. La chiave API, in questo senso, assicura che ogni client possa accedere soltanto ai servizi per cui possiede l’autorizzazione, ma permette anche di monitorare l’attività delle singole applicazioni - fornendo dati fondamentali per l’erogazione di un servizio sempre più efficiente e personalizzato.

Chiave API: cos'è e come funziona
Condividi su