Le regole di sicurezza Firebase forniscono una protezione solida e completamente personalizzabile per i tuoi dati in Cloud Firestore, Realtime Database, e Cloud Storage. Puoi iniziare facilmente a utilizzare le regole di sicurezza Security Rulesseguendo i passaggi descritti in questa guida, proteggendo i tuoi dati e la tua app da utenti malintenzionati.
Comprendere il linguaggio delle regole di sicurezza Firebase
Prima di iniziare a scrivere le regole, ti consigliamo di dedicare un po' di tempo alla revisione del linguaggio specifico delle regole di sicurezza Firebase per i prodotti Firebase che utilizzi. Realtime Database utilizza una sintassi simile a JavaScript e una struttura JSON per le sue Security Rules.
Inizia imparando la sintassi di base del linguaggio delle regole di sicurezza Firebase.
Configurare Authentication
Se non l'hai ancora fatto, aggiungi Firebase Authentication alla tua app. Firebase Authentication supporta molti metodi di autenticazione comuni e si integra con le regole di sicurezza Firebase per fornire funzionalità di verifica complete.
Puoi configurare informazioni di autenticazione aggiuntive e personalizzate per la tua app.
Scopri di più sulle regole di sicurezza Firebase e su Firebase Authentication.
Definire le strutture di dati e regole
Definire i dati per la sicurezza
Il modo in cui strutturi i dati potrebbe influire sul modo in cui strutturi e implementi le regole. Quando definisci le strutture dei dati, tieni presente le implicazioni che potrebbero avere sulla struttura Security Rules.
Ad esempio, in Realtime Database potresti voler includere un campo che indica un ruolo specifico per ogni utente. Le regole possono quindi leggere questo campo e utilizzarlo per concedere l'accesso in base al ruolo.
Quando definisci le architetture di dati e regole, tieni presente il modo in cui le regole vengono applicate o meno, a seconda del prodotto. Con Realtime Database, le regole funzionano dall'alto verso il basso, con le regole più superficiali che sostituiscono quelle più profonde. Se una regola concede le autorizzazioni di lettura o scrittura in un determinato percorso, concede anche l'accesso a tutti i nodi secondari sottostanti. Al contrario, con Cloud Firestore e Cloud Storage, le regole vengono applicate solo ai livelli specificati della gerarchia dei dati, e devi scrivere regole esplicite per controllare l'accesso a livelli diversi.
Accedere alle regole
Per visualizzare Security Rules esistenti, utilizza l'interfaccia a riga di comando Firebase o la console Firebase. Assicurati di modificare le regole utilizzando sempre lo stesso metodo per evitare di sovrascrivere accidentalmente gli aggiornamenti. Se non sai se le regole definite localmente riflettono gli aggiornamenti più recenti, la console Firebase mostra sempre la versione delle regole di sicurezza Firebase di cui è stato eseguito il deployment più di recente.
Per accedere alle regole dalla Firebase console, seleziona il tuo progetto, quindi nel pannello di navigazione a sinistra fai clic su Realtime Database. Fai clic su Security Rules una volta che ti trovi nel database o nel bucket di archiviazione corretto.
Per accedere alle regole dall'interfaccia a riga di comando Firebase, vai al file delle regole indicato nel file firebase.json.
Scrivere regole di base
Durante lo sviluppo dell'app e la comprensione Security Rules, prova a implementare Security Rules per risolvere alcuni casi d'uso di base, tra cui:
- Solo proprietario dei contenuti: limita l'accesso ai contenuti per utente.
- Accesso misto: limita l'accesso in scrittura per utente, ma consenti l'accesso in lettura pubblico.
- Accesso basato sugli attributi: limita l'accesso a un gruppo o a un tipo di utente.
Testare le regole
Se stai configurando le regole di sicurezza Firebase nella console Firebase, puoi utilizzare il Firebase Rules Playground per convalidare rapidamente il comportamento. Tuttavia, ti consigliamo di eseguire test più approfonditi con la Local Emulator Suite prima di eseguire il deployment delle tue modifiche in produzione.
Eseguire il deployment delle regole
Utilizza la console Firebase o l'interfaccia a riga di comando Firebase per eseguire il deployment delle regole in produzione. Segui i passaggi descritti in Gestire ed eseguire il deployment delle regole di sicurezza Firebase.