API Key
L'API Key è una chiave (secret) con cui, aggiungendola in uno specifico header della request, potrai invocare le API (per maggiori dettagli vedi la sezione Authentication dell'OpenAPI).
Come amministratore dell'ente potrai visualizzare e rigenerare le chiavi.
Perché esistono due chiavi?
Ogni API Key è composta da una coppia di chiavi: primaria ed una secondaria. Queste chiavi sono equivalenti e ti consentono di: cambiarle (rigenerarle) senza interrompere il servizio.
evitare interruzioni di servizio: puoi cambiarle (rigenerarle) la coppia di chiavi evitando disservizi;
condividere temporaneamente la chiave: in alcune occasioni potresti voler condividere l'API Key con i tuoi colleghi. Invece di condividere la chiave primaria (che viene utilizzata nelle tue applicazioni), condividi la chiave secondaria. Quando desideri revocare l'accesso a quella persona, rigenera la chiave secondaria. Una volta che hai rigenerato la chiave secondaria, la vecchia chiave secondaria non sarà più valida.
Best practice per la gestione delle API Key
Quando utilizzi le chiavi API nelle tue applicazioni, assicurati che vengano protette sia durante lo stoccaggio sia durante la trasmissione.
Elimina le API Key non necessarie per ridurre al minimo l'esposizione agli attacchi
Mantieni solo le API Key che stai utilizzando al momento per ridurre al minimo la superficie di attacco.
Ruota periodicamente le API Key
Se ruoti periodicamente le API Key, puoi limitare l'impatto di eventuali chiavi compromesse.
Per evitare interruzioni del servizio, procedi nel seguente modo:
aggiorna le applicazioni in modo che utilizzino la chiave secondaria
rigenera la chiave primaria
aggiorna le applicazioni in modo che utilizzino la chiave primaria appena rigenerata
rigenera la chiave secondaria
Non includere le API Key nel codice client e non eseguirne il commit nei repository di codice
Le API Key hardcoded nel codice sorgente o archiviate in un repository sono soggette ad intercettazione o furto da parte di malintenzionati. In ambienti client-side (come browser o applicazioni mobili) il client deve passare le richieste al proprio server di backend, che può aggiungere la chiave ed emettere la richiesta.
Implementa monitoraggio e logging avanzati
Il monitoraggio dell'utilizzo delle API può aiutarti a rilevare un utilizzo non autorizzato.