Firebase Security Rules offre una protezione solida e completamente personalizzabile per i tuoi dati in: Cloud Firestore, Realtime Database e Cloud Storage. Puoi iniziare facilmente con Rules seguendo i passaggi descritti in questa guida, mettendo al sicuro i tuoi dati e proteggendo la tua app da utenti malintenzionati.
Comprendi la lingua Firebase Security Rules
Prima di iniziare a scrivere le regole, vale la pena dedicare un po' di tempo a esaminare il linguaggio Firebase Security Rules specifico per i prodotti Firebase che utilizzi.
Realtime Database sfrutta una sintassi di tipo JavaScript e una struttura JSON per
Rules. In alternativa, Cloud Firestore e Cloud Storage sfruttano un soprainsieme
del linguaggio CEL (Common Expression Language) che si basa su match
e allow
istruzioni che impostano una condizione per l'accesso in un percorso definito.
Scopri di più sulla lingua Firebase Security Rules.
Configura Authentication
Se non l'hai ancora fatto, identifica gli utenti con Firebase Authentication. Firebase Authentication supporta molti metodi di autenticazione comuni e si integra con Firebase Security Rules per fornire funzionalità di verifica complete.
Puoi configurare informazioni di autenticazione aggiuntive e personalizzate per la tua app.
Scopri di più su Firebase Security Rules e Firebase Authentication.
Definisci le strutture di dati e regole
Il modo in cui organizzi i dati potrebbe influire sul modo in cui organizzi e implementi le regole. Quando definisci le strutture di dati, considera implicazioni che potrebbero avere sulla struttura di Rules.
Ad esempio, in Cloud Firestore, potresti voler includere un campo che indichi un ruolo specifico per ogni utente. Le regole possono quindi leggere il campo e utilizzarlo per concedere l'accesso basato su ruoli.
Quando definisci le architetture dei dati e delle regole, tieni presente che, se qualsiasi La regola concede l'accesso a un set di dati, Firebase Security Rules concede l'accesso a questo set di dati. In altre parole, non puoi perfezionare l'accesso a un percorso secondario se hai concesso l'accesso a un livello superiore nella gerarchia dei dati.
Accedi alle tue regole
Per visualizzare i tuoi Rules esistenti, utilizza l'interfaccia a riga di comando Firebase o la console Firebase. Assicurati di modificare le regole utilizzando lo stesso metodo, regolarmente, per evitare di sovrascrivere erroneamente gli aggiornamenti. In caso di dubbi se le regole definite localmente riflettono gli aggiornamenti più recenti, console mostra sempre la versione di cui è stato eseguito il deployment più recente del tuo Firebase Security Rules.
Per accedere alle regole dalla console Firebase, seleziona progetto, quindi vai a Realtime Database, Cloud Firestore Spazio di archiviazione. Una volta nel database o nello spazio di archiviazione corretto, fai clic su Regole di sincronizzare la directory di una VM con un bucket.
Per accedere alle regole dall'interfaccia a riga di comando Firebase, vai a di regole del tuo account registrato nel file firebase.json.
Scrivere regole di base
Mentre sviluppa la tua app e comprendi Rules, prova implementando alcune regole di sicurezza di base, tra cui le seguenti casi d'uso:
- Solo proprietario dei contenuti:limita l'accesso ai contenuti da parte dell'utente.
- Accesso misto:limita l'accesso in scrittura per gli utenti, ma consenti l'accesso in lettura pubblico.
- Accesso basato sugli attributi:limita l'accesso a un gruppo o a un tipo di utente.
Verificare le regole
Per convalidare completamente il comportamento della tua app e verificare le Firebase Security Rules
usa l'emulatore Firebase per eseguire e automatizzare l'unità
i test in un ambiente locale.
Se stai configurando Firebase Security Rules nella console Firebase, puoi utilizzare il Simulatore di regole Firebase per convalidare rapidamente il comportamento. Tuttavia, ti consigliamo di eseguire test più approfonditi con Firebase Emulator prima di eseguire il deployment modifiche in produzione.
Regole di deployment
Utilizza la console Firebase o l'interfaccia a riga di comando Firebase per eseguire il deployment delle regole alla produzione. Segui i passaggi descritti in Gestisci ed esegui il deployment di Firebase Security Rules.