Inizia a utilizzare le regole di sicurezza di Firebase

Firebase Security Rules offrono 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.

Comprendere 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. Cloud Storage sfrutta un superset del linguaggio Common Expression Language (CEL) che si basa su istruzioni match e allow che impostano una condizione per l'accesso a un percorso definito.

Inizia imparando la sintassi di base del linguaggio 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 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, tieni conto delle implicazioni che potrebbero avere sulla struttura di Rules.

Ad esempio, in Cloud Storage, potresti voler includere un campo che indichi un ruolo specifico per ciascun utente. Le regole possono quindi leggere questo campo e utilizzarlo per concedere l'accesso in base al ruolo. Puoi anche creare un database Cloud Firestore, memorizzare i criteri di accesso nei documenti Cloud Firestore e accedere a questi documenti da Cloud Storage Security Rules.

Quando definisci le architetture di dati e regole, tieni presente il modo in cui le regole si applicano in modo ricorsivo o meno, a seconda del prodotto. Con Realtime Database, le regole funzionano dall'alto verso il basso, con le regole meno specifiche che sostituiscono quelle più specifiche. Se una regola concede 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 si applicano solo a livelli specifici della gerarchia dei dati e scrivi regole esplicite per controllare l'accesso a diversi livelli.

Accedere alle 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 sempre lo stesso metodo 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 Firebase Security Rules di cui è stato eseguito il deployment più di recente.

Per accedere alle regole dalla console Firebase, seleziona il progetto, quindi fai clic su Storage nel pannello di navigazione a sinistra. 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 al file delle regole indicato nel file firebase.json.

Scrivere regole di base

Mentre sviluppi la tua app e comprendi Rules, prova a implementare Rules per gestire alcuni casi d'uso di base, tra cui:

  • Solo per i proprietari 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 su 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 il comportamento. Tuttavia, ti consigliamo di eseguire test più approfonditi con Local Emulator Suite prima di implementare le modifiche in produzione.

Regole di deployment

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 e implementare Firebase Security Rules.