Inizia con le regole di sicurezza Firebase

Le regole di sicurezza Firebase forniscono una protezione solida e completamente personalizzabile per i tuoi dati in Cloud Firestore, Realtime Database e Cloud Storage. Puoi iniziare facilmente con le regole seguendo i passaggi di questa guida, proteggendo i tuoi dati e la tua app da utenti malintenzionati.

Comprendere il linguaggio delle regole di sicurezza Firebase

Prima di iniziare a scrivere le regole, vale la pena dedicare del tempo a rivedere il linguaggio specifico delle regole di sicurezza Firebase per i prodotti Firebase che stai utilizzando. Realtime Database sfrutta una sintassi simile a JavaScript e una struttura JSON per le sue regole. In alternativa, Cloud Firestore e Cloud Storage sfruttano un superset del Common Expression Language (CEL) che si basa sulle istruzioni match e allow che impostano una condizione per l'accesso a un percorso definito.

Ulteriori informazioni sul linguaggio delle regole di sicurezza Firebase .

Configura l'autenticazione

Se non l'hai già fatto, identifica i tuoi utenti con Firebase Authentication . Firebase Authentication supporta molti metodi di autenticazione comuni e si integra con le regole di sicurezza Firebase per fornire funzionalità di verifica complete.

Puoi configurare informazioni di autenticazione personalizzate aggiuntive per la tua app.

Ulteriori informazioni sulle regole di sicurezza Firebase e sull'autenticazione Firebase .

Definisci le tue strutture di dati e regole

Il modo in cui strutturi i tuoi dati potrebbe influenzare il modo in cui strutturi e implementi le tue regole. Quando definisci le strutture dati, considera le implicazioni che potrebbero avere sulla struttura delle regole.

Ad esempio, in Cloud Firestore, potresti voler includere un campo che denota un ruolo specifico per ciascun utente. Quindi, le tue regole possono leggere quel 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, le regole di sicurezza Firebase garantiscono 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.

Accedi alle tue regole

Per visualizzare le regole esistenti, utilizza la CLI Firebase o la console Firebase. Assicurati di modificare le regole utilizzando lo stesso metodo, in modo coerente, per evitare di sovrascrivere erroneamente gli aggiornamenti. Se non sei sicuro che le regole definite localmente riflettano gli aggiornamenti più recenti, la console Firebase mostra sempre la versione distribuita più recentemente delle tue regole di sicurezza Firebase.

Per accedere alle tue regole dalla console Firebase , 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 dalla CLI di Firebase, vai al file delle regole annotato nel file firebase.json .

Scrivi le regole di base

Mentre sviluppi la tua app e comprendi le regole, 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.

Metti alla prova le tue regole

Per convalidare completamente il comportamento della tua app e verificare le regole di sicurezza Firebase
configurazioni, utilizzare l' emulatore Firebase per eseguire e automatizzare gli unit test in un ambiente locale.

Se stai configurando le regole di sicurezza Firebase 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 distribuire le modifiche alla produzione.

Distribuire le regole

Utilizza la console Firebase o la CLI Firebase per distribuire le tue regole in produzione. Segui i passaggi descritti in Gestire e distribuire le regole di sicurezza Firebase .