Firebase Security Rules offre una protezione solida e completamente personalizzabile per i tuoi dati in: Cloud Firestore, Realtime Database e Cloud Storage. Puoi ottenere facilmente iniziato da Rules seguendo i passaggi di questa guida, per proteggere e proteggere la tua app da utenti malintenzionati.
Comprendi la lingua Firebase Security Rules
Prima di iniziare a scrivere le regole, è utile dedicare un po' di tempo a rivederle
la lingua Firebase Security Rules specifica per i prodotti Firebase in uso.
Cloud Storage sfrutta 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.
Inizia imparando la sintassi di base della lingua Firebase Security Rules.
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 Firebase Security Rules per fornire funzionalità di verifica complete.
Puoi configurare informazioni di autenticazione personalizzate aggiuntive 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 strutturi i dati può influire su come strutturi e a implementare le regole. Quando definisci le strutture di dati, considera implicazioni che potrebbero avere sulla struttura di Rules.
Ad esempio, in Cloud Storage, potresti voler includere è un campo che indica un ruolo specifico per ciascun utente. Quindi, le regole possono leggere quel campo e usarlo per concedere l'accesso basato su ruoli. Puoi anche creare un database Cloud Firestore, archivia i criteri di accesso in Cloud Firestore documenti, quindi accedi a questi documenti da Cloud Storage Security Rules.
Quando definisci le architetture dei dati e delle regole, tieni presente il modo in cui sono a cascata o meno, a seconda del prodotto. Con Realtime Database, funzionano dall'alto verso il basso, con regole meno profonde che prevalgono su quelle più profonde. Se concede le autorizzazioni di lettura o scrittura per un determinato percorso, poi concede anche e l'accesso a tutti i nodi figlio sottostanti. Al contrario, con Cloud Firestore e Cloud Storage, le regole si applicano solo a livelli specifici della gerarchia dei dati, e scrivi regole esplicite per controllare l'accesso a diversi livelli.
Accedi alle tue regole
Per visualizzare Rules esistente, utilizza l'interfaccia a riga di comando Firebase o 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, nel pannello di navigazione sinistro fai clic su Spazio di archiviazione: Fai clic su Rules quando sei nel database o nel bucket di archiviazione corretto.
Per accedere alle regole dall'interfaccia a riga di comando Firebase, vai a di regole del tuo account registrato nel file firebase.json.
Scrivere le regole di base
Mentre sviluppa la tua app e comprendi Rules, prova implementare Rules per alcuni casi d'uso di base; tra cui:
- Solo proprietario dei contenuti:limita l'accesso ai contenuti da parte dell'utente.
- Accesso misto: limita l'accesso in scrittura da parte dell'utente, 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
Se stai configurando Firebase Security Rules nella console Firebase, puoi utilizzare Firebase Rules Playground per convalidare rapidamente comportamento degli utenti. Tuttavia, ti consigliamo di eseguire test più approfonditi con Local Emulator Suite 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 Gestire e implementare Firebase Security Rules.