Informazioni sulle chiavi API per Firebase e su come gestirle

Una chiave API è una stringa univoca utilizzata per indirizzare le richieste al tuo progetto Firebase quando interagisci con i servizi Firebase e Google. In questa pagina vengono descritte le informazioni di base sulle chiavi API, nonché le best practice per l'utilizzo e la gestione delle chiavi API con le app Firebase.

Se hai ricevuto un'email da Google Cloud relativa a una "chiave API di Google accessibile pubblicamente per il tuo progetto Google Cloud" e la chiave API elencata nell'email è la tua chiave API Firebase, assicurati che la chiave API soddisfi i seguenti requisiti per poter essere inclusa in sicurezza nel codice o nei file di configurazione. Puoi verificare quanto segue nella pagina API e servizi > Credenziali della console Google Cloud.

  • È la chiave API che utilizzi per la tua app Firebase e solo per i servizi Firebase. Questi tasti sono solitamente chiamati Browser key (auto created by Firebase), Android key (auto created by Firebase) o iOS key (auto created by Firebase).
  • Contiene tutte le API correlate a Firebase richieste incluse nella lista consentita "Limitazioni API" della chiave.
  • Non deve avere altre API nella lista consentita "Restrizioni API". In particolare, l'elenco non deve contenere Generative Language API.

Inoltre, assicurati di utilizzare Firebase Security Rules e App Check come consigliato per i prodotti Firebase che utilizzi.

Puoi scoprire i dettagli sulle chiavi API per Firebase e trovare un elenco di domande frequenti in Scopri di più sull'utilizzo e sulla gestione delle chiavi API per Firebase.


Il resto di questa pagina fornisce informazioni dettagliate sulle chiavi API per Firebase, nonché un elenco di domande frequenti su queste chiavi.

Informazioni generali sulle chiavi API e Firebase

Le chiavi API per Firebase sono diverse dalle chiavi API tipiche

A differenza di come vengono utilizzate in genere, le chiavi API per i servizi Firebase non vengono utilizzate per controllare l'accesso alle risorse di backend; questo può essere fatto solo con Firebase Security Rules (per controllare quali utenti finali possono accedere alle risorse) e Firebase App Check (per controllare quali app possono accedere alle risorse).

In genere, devi proteggere con cura le chiavi API (ad esempio, utilizzando un servizio di vault o impostando le chiavi come variabili di ambiente). Tuttavia, le chiavi API per i servizi Firebase possono essere incluse nel codice o nei file di configurazione archiviati.

Sebbene le chiavi API per i servizi Firebase possano essere incluse nel codice, devi esaminarle e applicare restrizioni e limiti appropriati.

Creazione di chiavi API

Un progetto Firebase può avere molte chiavi API, ma ogni chiave API può essere associata a un solo progetto Firebase.

Chiavi API create automaticamente da Firebase per le tue app Firebase

Firebase crea automaticamente le chiavi API per il tuo progetto quando esegui una delle seguenti operazioni:

  • Crea un progetto Firebase > Browser key creato automaticamente
  • Crea un'app Firebase per Apple > iOS key creata automaticamente
  • Crea un'app Firebase per Android > Android key creata automaticamente

Puoi anche creare le tue chiavi API nella console Google Cloud, ad esempio per lo sviluppo o il debug. Scopri di più su quando questa opzione potrebbe essere consigliata più avanti in questa pagina.

Trovare le chiavi API

Puoi visualizzare e gestire tutte le chiavi API del tuo progetto nella pagina API e servizi > Credenziali della console Google Cloud.

Puoi anche trovare la chiave API abbinata automaticamente a un'app Firebase nelle seguenti posizioni. Per impostazione predefinita, tutte le app Firebase del progetto per la stessa piattaforma (Apple, Android o web) utilizzeranno la stessa chiave API.

  • App Firebase per Apple: trova la chiave API con corrispondenza automatica nel file di configurazione di Firebase, GoogleService-Info.plist, nel campo API_KEY.

  • App Firebase per Android: trova la chiave API con corrispondenza automatica nel file di configurazione di Firebase, google-services.json, nel campo current_key.

  • App web Firebase: trova la chiave API con corrispondenza automatica nell'oggetto di configurazione Firebase, nel campo apiKey.

Utilizzo di una chiave API

Le chiavi API per Firebase vengono utilizzate per identificare il tuo progetto Firebase quando interagisci con i servizi Firebase o Google. In particolare, vengono utilizzate per associare le richieste API al tuo progetto per la quota e la fatturazione. Sono utili anche per accedere ai dati pubblici.

Per la stragrande maggioranza degli sviluppatori e dei casi d'uso, non interagisci direttamente con queste chiavi API. Invece, quando la tua app effettua una chiamata a un'API Firebase che richiede una chiave API fornita dal client web o mobile, l'app cercherà automaticamente una chiave API nella configurazione di Firebase dell'app. Questa configurazione è stata aggiunta al codebase della tua app quando l'hai collegata a Firebase.

Tieni presente che puoi fornire la chiave API della tua app all'interno dell'app utilizzando un meccanismo diverso, come le opzioni di Firebase o le variabili di ambiente.

Inoltre, per alcune API REST per i servizi Firebase, potresti dover passare esplicitamente il valore della chiave API nella chiamata come parametro di query. Questo esempio mostra come effettuare una richiesta utilizzando l'API Firebase Authentication:

https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY

Esamina e applica le restrizioni appropriate alle chiavi API

Per tutte le chiavi API del tuo progetto, è fondamentale assicurarsi che abbiano le limitazioni e le restrizioni API appropriate, come descritto in questa sezione.

Esamina le API aggiunte automaticamente alla lista consentita per le tue chiavi API Firebase

Quando Firebase crea una chiave API nel tuo progetto, aggiungiamo automaticamente le "limitazioni relative alle API" a quella chiave. Le API aggiunte a questa lista consentita sono API correlate a Firebase che richiedono al client di fornire una chiave API insieme alla chiamata. Tieni presente che la maggior parte delle API richieste per l'utilizzo dei servizi Firebase non deve necessariamente essere inclusa nella lista consentita per le tue chiavi API.

Poiché Firebase aggiunge le API necessarie per tutti i servizi Firebase, la lista consentita per una chiave API potrebbe includere API per prodotti che non utilizzi. Puoi rimuovere le API dalla lista consentita, ma devi fare molta attenzione a non rimuovere le API richieste per Firebase e i servizi Firebase che utilizzi (consulta l'elenco delle API correlate a Firebase che devono essere incluse nella lista consentita per ogni servizio/prodotto). In caso contrario, riceverai errori quando effettui chiamate ai servizi Firebase.

Riduci la quota se utilizzi Authentication basato su password

Se utilizzi l'Firebase Authentication basata su password e qualcuno entra in possesso della tua chiave API, non potrà accedere ai dati del database o di Cloud Storage del tuo progetto Firebase, a condizione che questi dati siano protetti dalle Firebase Security Rules. Tuttavia, potrebbero utilizzare la tua chiave API per accedere agli endpoint di autenticazione di Firebase ed effettuare richieste di autenticazione per il tuo progetto.

Per ridurre la possibilità che qualcuno utilizzi in modo improprio una chiave API per tentare un attacco di forza bruta, puoi limitare la quota predefinita degli endpoint identitytoolkit.googleapis.com in modo che rifletta le normali aspettative di traffico della tua app. Tieni presente che se limiti questa quota e la tua app acquisisce improvvisamente utenti, potresti ricevere errori di accesso finché non aumenti la quota. Puoi modificare le quote API del tuo progetto nella console Google Cloud.

Utilizza chiavi API separate e limitate per qualsiasi servizio non Firebase

Sebbene le chiavi API utilizzate per i servizi Firebase non debbano generalmente essere trattate come segrete, devi adottare alcune precauzioni aggiuntive con le chiavi API che utilizzi con altre API Google Cloud.

Se utilizzi un'API Google Cloud (su qualsiasi piattaforma) che non è destinata a un servizio/prodotto Firebase, ti consigliamo vivamente di creare chiavi API separate e limitate da utilizzare con queste API. Questo è di fondamentale importanza se l'API è per un servizio Google Cloud fatturabile. In particolare, non includere mai Gemini Developer API nella lista consentita per una chiave API accessibile pubblicamente o una chiave utilizzata per altri servizi.

Utilizzando chiavi API separate e limitate per le API non Firebase, puoi ruotare o sostituire le chiavi quando necessario e aggiungere ulteriori limitazioni alle chiavi API senza interrompere l'utilizzo dei servizi Firebase.

Utilizza chiavi API specifiche per l'ambiente

Se configuri progetti Firebase diversi per ambienti diversi, ad esempio staging e produzione, è importante che ogni istanza dell'app interagisca con il progetto Firebase corrispondente. Ad esempio, l'istanza dell'app di gestione temporanea non deve mai comunicare con il progetto Firebase di produzione. Ciò significa anche che l'app di gestione temporanea deve utilizzare le chiavi API associate al progetto Firebase di gestione temporanea.

Per ridurre i problemi di promozione delle modifiche al codice dallo sviluppo alla gestione temporanea e alla produzione, anziché includere le chiavi API nel codice stesso, impostale come variabili di ambiente o includile in un file di configurazione.

Domande frequenti e risoluzione dei problemi

Domande frequenti

Risoluzione dei problemi