Inizia a utilizzare le regole di sicurezza di Firebase

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 Security Rules seguendo i passaggi di questa guida, proteggendo i tuoi dati e la tua app dagli utenti malintenzionati.

Comprendi il linguaggio delle regole di sicurezza di Firebase

Prima di iniziare a scrivere le regole, vale la pena dedicare un po' di tempo a esaminare il linguaggio specifico delle Firebase Security Rules per i prodotti Firebase che utilizzi. Realtime Database utilizza una sintassi simile a JavaScript e una struttura JSON per i suoi Security Rules.

Inizia imparando la sintassi di base del linguaggio delle regole di sicurezza di Firebase.

Configura 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 di Firebase per fornire funzionalità di verifica complete.

Puoi configurare informazioni di autenticazione personalizzate aggiuntive per la tua app.

Scopri di più sulle regole di sicurezza di Firebase e Firebase Authentication.

Definisci le strutture dei dati e delle regole

Struttura i dati con attenzione per allinearli ai tuoi requisiti di sicurezza.

Definisci 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, considera le implicazioni che potrebbero avere sulla struttura di 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 basato sui ruoli.

Quando definisci le architetture dei dati e delle regole, tieni presente il modo in cui le regole vengono applicate o meno a cascata, 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 autorizzazioni di lettura o autorizzazioni in scrittura in un percorso specifico, concede anche l'accesso a tutti i nodi secondari sottostanti. Al contrario, con Cloud Firestore e Cloud Storage, le regole si applicano solo a livelli specifici della gerarchia dei dati e devi scrivere regole esplicite per controllare l'accesso ai diversi livelli.

Accedi alle tue regole

Per visualizzare i Security Rules esistenti, utilizza l'interfaccia a riga di comando Firebase o la console Firebase. Assicurati di modificare le regole utilizzando lo stesso metodo, in modo coerente, per evitare di sovrascrivere per errore gli aggiornamenti. Se non sai con certezza se le regole definite localmente riflettono gli aggiornamenti più recenti, la console Firebase mostra sempre la versione di cui è stato eseguito il deployment più di recente delle regole di sicurezza di Firebase.

Per accedere alle regole dalla console Firebase, seleziona il tuo progetto, quindi fai clic su Realtime Database nel pannello di navigazione a sinistra. Fai clic su Security Rules quando 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.

Scrivi regole di base

Mentre sviluppi la tua app e comprendi 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 in base all'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.

Verifica le regole

Se configuri le regole di sicurezza di Firebase nella console Firebase, puoi utilizzare il Playground delle regole di Firebase per convalidare rapidamente il comportamento. Tuttavia, ti consigliamo di eseguire test più approfonditi con Local Emulator Suite prima di eseguire il deployment delle modifiche in produzione.

Esegui 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 Gestisci ed esegui il deployment delle Regole di sicurezza di Firebase.