Inizia a utilizzare le regole di sicurezza di Firebase

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 a utilizzare Rules seguendo i passaggi descritti in questa guida, proteggendo i tuoi dati e la tua app da utenti malintenzionati.

Comprendere la lingua Firebase Security Rules

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

Scopri di più sulla lingua Firebase Security Rules.

Configura Authentication

Se non lo 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 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 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 del tuo Rules.

Ad esempio, in Cloud Firestore potresti voler includere un campo che indichi un ruolo specifico per ogni utente. Quindi, le regole possono 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 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 percorso secondario se hai concesso l'accesso a un livello superiore nella gerarchia dei dati.

Accedere alle regole

Per visualizzare il tuo Rules esistente, utilizza la CLI 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 se le regole definite localmente riflettono gli aggiornamenti più recenti, la console Firebase mostra sempre la versione più recente del tuo Firebase Security Rules.

Per accedere alle regole dalla console Firebase, seleziona il tuo progetto, quindi vai a Realtime Database, Cloud Firestore o Storage. Fai clic su Regole dopo aver selezionato il database o il bucket di archiviazione corretto.

Per accedere alle regole dalla CLI 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 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 su attributi:limita l'accesso a un gruppo o a un tipo di utente.

Testare le regole

Per convalidare completamente il comportamento della tua app e verificare le configurazioni di Firebase Security Rules
, utilizza Firebase Emulator per eseguire e automatizzare i test unitari 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 l'emulatore Firebase prima di implementare le modifiche in produzione.

Regole di deployment

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