Cos'è una chiave API?
- Glossario IAM
- Cos'è una chiave API?
Una chiave di interfaccia di programmazione dell'applicazione (API) è una stringa casuale di caratteri che identifica e verifica un'applicazione o un utente. Funge da identificatore unico e fornisce un token unico per l'autenticazione. Un'API è un insieme di regole o protocolli che consente a due o più sistemi e applicazioni di comunicare tra loro. Affinché un client possa ottenere l'autorizzazione ad accedere, è necessario confermare la chiave API al fine di garantire che solo i client autorizzati possano richiedere e recuperare i dati.
Chiave API e token API: qual è la differenza?
Sia le chiavi API che i token API vengono utilizzati per l'autenticazione e l'autorizzazione, ma differiscono per struttura e utilizzo. Un token API è una stringa unica di caratteri che individua utenti specifici, escludendo le applicazioni e altre entità. Inoltre, i token API vengono associati all'autenticazione basata su token, la quale richiede dati aggiuntivi specifici per l'utente, come le informazioni sul tipo di token e i diritti di autorizzazione dell'utente.
Infine, è importante notare che un token API ha una data di scadenza prestabilita, mentre una chiave API rimane attiva a meno che non venga cambiata manualmente. Per questo motivo, le organizzazioni tendono a preferire i token API per l'autenticazione, visto che offrono una sicurezza maggiore rispetto alle chiavi API.
Come funzionano le chiavi API
Le chiavi API vengono integrate nelle richieste API effettuate dagli utenti o dalle applicazioni per verificare la loro identità e le autorizzazioni specifiche. Ecco una panoramica dettagliata delle chiavi API in azione.
- Generare una chiave API: Prima di accedere all'API, il client deve inviare una richiesta iniziale di chiave al server API. Ciò in genere comporta che il client debba fornire le credenziali necessarie o una qualche forma di autenticazione per ricevere la chiave API unica.
- Includere la chiave API nella richiesta: Una volta ottenuta la chiave API, il client deve includerla all'interno della richiesta API, che in genere fa parte della stringa di query o si trova nell'intestazione della richiesta.
- Verificare la chiave API: Il server API verificherà ed elaborerà la chiave per garantirne la validità. Se la chiave corrisponde al database del client, la richiesta verrà approvata. In caso contrario, la chiave verrà rifiutata.
- Ricevere una risposta: Dopo aver convalidato la chiave API, il server API elaborerà la richiesta e genererà la risposta prevista al client.
Perché vengono utilizzate le chiavi API?
Le chiavi API sono dei solidi strumenti che offrono sicurezza e visibilità durante l'interazione con i servizi esterni forniti da un'API. Utilizzando le chiavi API, le organizzazioni possono migliorare la sicurezza, automatizzare le attività e controllare quali utenti possono accedere alle API.
Migliora la sicurezza
I criminali informatici tendono a prendere di mira le API web perché sono dei gateway che trasferiscono informazioni altamente sensibili, come le credenziali di un utente. Poiché le chiavi API servono a individuare e verificare ogni client che accede a un'API, contrastano gli accessi non autorizzati, riducendo così il rischio di violazioni dei dati e altre minacce alla sicurezza.
Automatizza le attività
Le chiavi API automatizzano un'ampia gamma di attività, eliminando la necessità di interventi manuali su numerosi processi. Tra gli esempi di attività automatizzate, vi sono l'ottenimento di dati da fonti esterne, la regolare attività di report, l'integrazione dei sistemi e la monetizzazione. L'automazione delle attività ripetitive migliora l'efficienza e la produttività, riducendo al contempo gli errori umani.
Controlla gli accessi
Una chiave API è un modo semplice per regolare quali utenti possono accedere a un'API. Consente agli amministratori di concedere o revocare i privilegi di accesso in base alle esigenze specifiche di ciascuna applicazione. Poiché le organizzazioni possono limitare l'esposizione delle informazioni sensibili, sono in grado di aumentare le misure di sicurezza migliorando al contempo la visibilità sull'utilizzo dei dati.
Quando utilizzare una chiave API
Le organizzazioni devono comprendere l'importanza di utilizzare una chiave API, poiché questa tiene traccia del modo in cui viene utilizzata l'API, cosa essenziale per mantenere la sicurezza delle applicazioni. I casi più comuni di uso di chiavi API sono il blocco del traffico anonimo, il controllo delle chiamate API e il filtro dei registri.
Blocca il traffico anonimo
Una chiave API contribuisce a bloccare il traffico anonimo agendo come identificatore unico per ogni utente autorizzato che accede a un'API. Affinché un utente autorizzato possa completare la procedura di autenticazione, è necessario includere la chiave API affinché il provider API possa tracciare gli accessi. Poiché le chiavi API sono necessarie per ogni richiesta, è possibile bloccare il traffico anonimo. Questo fa sì che solo gli utenti autenticati possano accedere alle risorse dell'API.
Controlla le chiamate API
Una chiamata API è il processo in cui un utente o un'applicazione richiede di accedere ai dati dal server API. Le chiavi API possono limitare il numero di chiamate effettuate al server, contribuendo così alle prestazioni ottimali di un sistema API, proteggendo al contempo il sistema dai criminali informatici. È importante controllare il numero di chiamate effettuate a un'API, visto che un elevato volume di richieste API può sovraccaricare il server.
Filtra i registri
Un server API può filtrare i registri in base alle chiavi API specifiche utilizzate nelle richieste. La chiave associata viene registrata una volta effettuata una richiesta a un endpoint API, consentendo agli amministratori di tracciare l'origine della richiesta, individuare il client da cui proviene e monitorarne l'attività. Filtrando i registri, gli amministratori possono ottenere preziose informazioni che aiutano a risolvere i problemi e ottimizzare le prestazioni.
Migliori pratiche per le chiavi API
Ecco quattro migliori pratiche che le organizzazioni devono seguire per proteggere le chiavi API.
Archivia in modo sicuro la chiave API
Tratta le chiavi API come le tue password personali. Evita di scrivere le chiavi API su un post it o su un foglio di calcolo. Archiviale invece in un sistema di gestione dei segreti oppure effettua la crittografia delle chiavi utilizzando un solido algoritmo di crittografia per evitare che vengano compromesse.
Utilizza l'HTTPS per le richieste API
L'HTTPS utilizza la crittografia TLS (Transport Layer Security), una pratica standard che garantisce la sicurezza dei dati nelle comunicazioni tra applicazioni. È consigliabile che una chiave API sia accessibile tramite HTTPS, poiché impedisce che venga rubata dai criminali informatici durante la trasmissione.
Utilizza una chiave API diversa per ogni applicazione
L'utilizzo di chiavi API diverse per ciascuna applicazione riduce il rischio che più applicazioni vengano colpite contemporaneamente. Ciò garantisce che, se una chiave API di un'applicazione dovesse venire compromessa, le altre applicazioni rimarranno al sicuro.
Ruota ed elimina le chiavi API
La gestione sicura delle chiavi API prevede l'implementazione di una strategia di rotazione delle chiavi, di solito ogni 30, 60 o 90 giorni. Ruotando regolarmente le chiavi, si riduce il rischio di compromissione, perché i criminali informatici avranno meno opportunità. A differenza dei token API, le chiavi API rimangono attive a meno che l'utente non le rigeneri o le elimini manualmente, pertanto è essenziale seguire questa pratica di sicurezza. Inoltre, è bene eliminare le chiavi API non necessarie quando non sono più in uso per ottimizzare la capacità di memoria e prevenire gli accessi non autorizzati.