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 tipiche

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, è necessario salvaguardare meticolosamente le chiavi API (ad esempio, utilizzando un servizio di Vault o impostando le chiavi come variabili di ambiente); ma È possibile includere le chiavi API per i servizi Firebase nel codice o nella configurazione di check-in .

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 creati automaticamente
  • Crea un'app Apple Firebase > iOS key creata automaticamente
  • Crea un'app Firebase per Android > Android key creati automaticamente
di Gemini Advanced.

Puoi anche creare le tue chiavi API in 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 nel API e Servizi > Credenziali nella console Google Cloud.

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

  • App Firebase Apple: trova la chiave API per la corrispondenza automatica in Firebase config, GoogleService-Info.plist, nel 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 per la corrispondenza automatica in Firebase config, 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 e i dati pubblici.

Ad esempio, puoi utilizzare esplicitamente una chiave API passandone il valore in un indirizzo REST chiamata API come parametro di query. Questo esempio mostra come inviare una richiesta alla API Dynamic Links link Shorter:

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

Quando la tua app effettua una chiamata a un'API Firebase che richiede una chiave API fornita dal client web/mobile, l'app cercherà automaticamente File/oggetto di configurazione Firebase per la chiave API del progetto. 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 secret, devi rivedere e applicare restrizioni e limiti come descritto in .

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 "Restrizioni API" a quella chiave. Le API aggiunte a questa lista consentita sono API correlate a Firebase che al client deve 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 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 presta molta attenzione a non Rimuovere le API richieste per Firebase e i servizi Firebase che utilizzi (consulta elenco delle API correlate a Firebase che devono essere nella lista consentita per ciascun servizio / prodotto). In caso contrario, riceverai errori quando effettui chiamate ai servizi Firebase.

Aumenta la quota se utilizzi l'Authentication basata su password

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. Tuttavia, potrebbero utilizzare la tua chiave API per accedere agli endpoint di autenticazione di Firebase e inviare richieste di autenticazione per il 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. Ciò è 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 che utilizzi solo per accedere alle API Cloud Vision.

Utilizzando chiavi API limitate e separate per le API non Firebase, puoi ruotare sostituire le chiavi se necessario e aggiungere ulteriori limitazioni all'API chiavi senza interrompere l'uso dei servizi Firebase.

Utilizza chiavi API specifiche dell'ambiente (consigliato)

Se configuri progetti Firebase diversi per ambienti diversi, ad esempio gestione temporanea e produzione, è importante che ogni istanza di app interagisca progetto Firebase corrispondente. Ad esempio, l'istanza dell'app di gestione temporanea non comunicare mai con il tuo 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 con 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