Inizia a utilizzare le regole di sicurezza di Firebase

Firebase Security Rules forniscono una protezione solida e completamente personalizzabile per i 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 linguaggioFirebase Security Rules

Prima di iniziare a scrivere le regole, ti consigliamo di dedicare un po' di tempo alla revisione del linguaggio specifico Firebase Security Rules per i prodotti Firebase che utilizzi. Realtime Database utilizza una sintassi simile a JavaScript e una struttura JSON per le sue Security Rules. In alternativa, Cloud Firestore e Cloud Storage utilizzano un superset di Common Expression Language (CEL) che si basa sulle istruzioni match e allow che impostano una condizione per l'accesso a un percorso definito.

Scopri di più sul Firebase Security Rules linguaggio.

Configurare Authentication

Se non l'hai ancora fatto, identifica i tuoi 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.

Definire le strutture di dati e regole

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 Cloud Firestore 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 di dati e regole, tieni presente che, se una qualsiasi regola concede l'accesso a un set di dati, Firebase Security Rules concede l'accesso a quel set di dati. In altre parole, non puoi perfezionare l'accesso a un sottopercorso se hai concesso l'accesso a un livello superiore nella gerarchia dei dati.

Accedere alle regole

Per visualizzare Security Rules esistenti, utilizza Firebase CLI o la Firebase console. 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 di cui è stato eseguito il deployment più di recente di Firebase Security Rules.

Per accedere alle regole dalla Firebase console, seleziona il tuo progetto, quindi vai a Realtime Database, Cloud Firestore o Storage. Fai clic su Regole una volta che ti trovi nel database o nel bucket di archiviazione corretto.

Per accedere alle regole da Firebase CLI, vai al file delle regole indicato nel tuo file firebase.json.

Scrivere regole di base

Durante lo sviluppo dell'app e la comprensione Security Rules, prova a implementare alcune regole di sicurezza di base, inclusi i seguenti casi d'uso:

  • 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

Per convalidare completamente il comportamento dell'app e verificare le Firebase Security Rules
configurazioni, utilizza l'emulatore Firebase per eseguire e automatizzare i test delle unità in un ambiente locale.

Se stai configurando il tuo Firebase Security Rules nella console Firebase, puoi utilizzare il simulatore di regole di Firebase per convalidare rapidamente il comportamento. Tuttavia, ti consigliamo di eseguire test più approfonditi con l'emulatore Firebase prima di eseguire il deployment delle tue modifiche in produzione.

Eseguire il deployment delle regole

Utilizza la console Firebase o Firebase CLI per eseguire il deployment delle regole in produzione. Segui i passaggi descritti in Gestire ed eseguire il deployment Firebase Security Rules.