Best practice per la gestione delle chiavi API

Quando utilizzi le chiavi API nelle tue applicazioni, assicurati che siano protette durante l'archiviazione e la trasmissione. L'esposizione pubblica delle chiavi API può comportare addebiti imprevisti sul tuo account o l'accesso non autorizzato ai tuoi dati. Per proteggere le tue chiavi API, implementa le seguenti best practice.

Aggiungere limitazioni relative alle chiavi API alla tua chiave

Aggiungendo limitazioni, puoi limitare i modi in cui una chiave API può essere utilizzata, riducendo l'impatto di una chiave API compromessa.

Per saperne di più, vedi Applica le limitazioni relative alle chiavi API.

Evita di utilizzare parametri di ricerca per fornire la chiave API alle API di Google

Se fornisci la chiave API alle API come parametro di query, la chiave API viene inclusa nell'URL, esponendola al furto tramite scansioni dell'URL. Utilizza l'intestazione HTTP x-goog-api-key o una libreria client.

Elimina le chiavi API non necessarie per ridurre al minimo l'esposizione agli attacchi

Conserva solo le chiavi API che utilizzi attivamente per ridurre al minimo la superficie di attacco.

Non includere le chiavi API nel codice client e non eseguirne il commit nei repository di codice

Le chiavi API hardcoded nel codice sorgente o archiviate in un repository sono soggette a intercettazione o furto da parte di utenti malintenzionati. Il client deve passare le richieste al server, che può aggiungere le credenziali ed emettere la richiesta.

Non utilizzare le chiavi API associate ai service account in produzione

Le chiavi API associate ai service account sono progettate per accelerare l'esperienza iniziale degli sviluppatori che esplorano le API Google Cloud . Non utilizzarli in ambienti di produzione. Pianifica invece la migrazione ad alternative più sicure, come i criteri Identity and Access Management (IAM) e le credenziali account di servizio di breve durata, seguendo le pratiche di sicurezza con privilegi minimi.

Ecco perché devi eseguire la migrazione dall'utilizzo di una chiave API associata a un account di servizio a pratiche più sicure il prima possibile:

  • Le chiavi API vengono inviate insieme alle richieste. In questo modo è più probabile che la chiave venga esposta o registrata.

  • Le chiavi API sono credenziali di tipo bearer. Ciò significa che se qualcuno ruba una chiave API associata a unaccount di serviziot, può utilizzarla per autenticarsi comeaccount di serviziont e accedere alle stesse risorse a cui può accedere iaccount di serviziont.

  • Le chiavi API associate ai service account oscurano l'identità dell'utente finale nei log di controllo. Per monitorare le azioni dei singoli utenti, assicurati che ognuno abbia il proprio insieme di credenziali.

Implementa monitoraggio e logging avanzati

Il monitoraggio dell'utilizzo delle API può aiutarti a ricevere avvisi in caso di utilizzo non autorizzato. Per saperne di più, consulta Panoramica di Cloud Monitoring e Panoramica di Cloud Logging.

Isolare le chiavi API

Fornisci a ogni membro del team la propria chiave API per ogni applicazione. In questo modo puoi controllare l'accesso, fornire un audit trail e ridurre l'impatto di una chiave API compromessa.

Ruota periodicamente le chiavi API

Crea periodicamente nuove chiavi API, aggiorna le applicazioni in modo che utilizzino le nuove chiavi API ed elimina le vecchie chiavi.

Per saperne di più, consulta Ruotare una chiave API.

Valuta un metodo di autorizzazione all'accesso più sicuro

Per assistenza nella scelta di un metodo di autenticazione, vedi Metodi di autenticazione.