Scopri di più sull'utilizzo e sulla gestione delle chiavi API per Firebase

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

Informazioni generali sulle chiavi API e su Firebase

Le chiavi API per Firebase sono diverse dalle chiavi API standard

Diversamente dal modo in cui vengono solitamente utilizzate le chiavi API, le chiavi API per i servizi Firebase non utilizzato per controllare l'accesso alle risorse di backend; che 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 attenzione le chiavi API (ad esempio, utilizzando un servizio di archiviazione o impostando le chiavi come variabili di ambiente); tuttavia, è possibile includere le chiavi API per i servizi Firebase nel codice o nei file di configurazione controllati.

Sebbene sia sicuro includere nel codice le chiavi API per i servizi Firebase, dovresti esaminare e applicare restrizioni e limiti appropriati.

Creazione di chiavi API

Un progetto Firebase può avere molte chiavi API, ma ogni chiave API può essere associati a un singolo 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 Apple Firebase > iOS key creata automaticamente
  • Crea un'app Firebase per Android > Android key creati 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 questo potrebbe essere consigliato più avanti in questa pagina.

Trovare le chiavi API

Puoi visualizzare e gestire tutte le chiavi API del tuo progetto nel riquadro 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 per Apple di Firebase: 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 per la corrispondenza automatica nel di configurazione di Firebase, google-services.json, nel 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 vengono utilizzate per identificare il progetto Firebase durante l'interazione con servizi Firebase/Google. Nello specifico, vengono utilizzati per associare le richieste API con il tuo progetto per quota e fatturazione. Sono utili anche per accedere ai dati pubblici.

Ad esempio, puoi utilizzare esplicitamente una chiave API passando il relativo valore a una chiamata API REST come parametro di query. Questo esempio mostra come puoi effettuare una richiesta all'API di accorciamento dei link Dynamic Links:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

Quando l'app effettua una chiamata a un'API Firebase che richiede una chiave API fornita dal client mobile/web, l'app cercherà automaticamente la chiave API del progetto nell'oggetto/file di configurazione Firebase. Tuttavia, puoi fornire chiavi API per l'app utilizzando un meccanismo diverso, incluso l'ambiente come la codifica one-hot delle variabili categoriche.

Esamina e applica le limitazioni appropriate alle chiavi API (consigliato)

Sebbene non sia necessario trattare una chiave API per i servizi Firebase come un segreto, devi esaminare e applicare le limitazioni e i limiti descritti in questa sezione.

di Gemini Advanced.

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 "limitazioni API" alla 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 Le API richieste per l'utilizzo dei servizi Firebase non devono necessariamente per le tue chiavi API.

Poiché Firebase aggiunge le API necessarie per tutti i servizi Firebase, la lista consentita di 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 per 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.

Se utilizzi Authentication basato su password, riduci la quota

Se usi l'Firebase Authentication basata su password e qualcuno entra in possesso della tua API non potranno accedere ai database del progetto Firebase o Cloud Storage di dati a condizione che siano protetti da Firebase Security Rules. Potrebbe, tuttavia, utilizzare la tua chiave API per accedere gli endpoint di autenticazione di Firebase ed effettuare richieste di autenticazione del tuo progetto.

Per ridurre la possibilità che qualcuno usi in modo improprio una chiave API tentare un attacco di forza bruta, puoi ridurre la quota predefinita identitytoolkit.googleapis.com endpoint per riflettere il traffico normale le aspettative della tua app. Tieni presente che se aumenti questa quota e la tua app un aumento improvviso degli utenti, potresti ricevere errori di accesso finché non aumenterai la quota. Puoi modificare le quote API del progetto nella Console Google Cloud.

Utilizza chiavi API distinte e limitate per qualsiasi servizio non Firebase

Sebbene in genere non sia necessario trattare le chiavi API utilizzate per i servizi Firebase come segrete, devi adottare alcune precauzioni aggiuntive per le chiavi API che utilizzi con altre API Google Cloud.

Se utilizzi un'API Google Cloud (su qualsiasi piattaforma) non destinata a Firebase servizio / prodotto, consigliamo vivamente di creare chiavi API distinte e limitate per l'uso con queste API. Questo è particolarmente importante se l'API è per un servizio Google Cloud fatturabile.

Ad esempio, se utilizzi Firebase ML e le API Cloud Vision su iOS, devi creare chiavi API separate da utilizzare solo per accedere alle API Cloud Vision.

Utilizzando chiavi API separate e limitate per le API non Firebase, puoi ruotare o sostituire le chiavi in caso di necessità e aggiungere ulteriori limitazioni alle chiavi API senza interrompere l'utilizzo dei servizi Firebase.

Utilizza chiavi API specifiche dell'ambiente (consigliato)

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

Per ridurre i problemi che promuovono modifiche al codice dallo sviluppo alla gestione temporanea di produzione, invece di includere le chiavi API nel codice stesso, impostale come variabili di ambiente o di includerle in un file di configurazione.

Tieni presente che se utilizzi Firebase Local Emulator Suite per lo sviluppo insieme a Firebase ML, devi creare e utilizzare una chiave API solo per il debug. Istruzioni per creare questo tipo di chiave, si trovano Firebase ML documenti.

Domande frequenti e risoluzione dei problemi

Domande frequenti

Risoluzione dei problemi