Inizia con le regole di sicurezza di Firebase

Le regole di sicurezza di 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 in questa guida, proteggendo i tuoi dati e proteggendo la tua app da utenti malintenzionati.

Comprendere il linguaggio delle regole di sicurezza di 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.

Inizia imparando la sintassi di base del linguaggio delle regole di sicurezza di Firebase .

Imposta l'autenticazione

Se non l'hai già fatto, aggiungi l'autenticazione Firebase alla tua app . L'autenticazione Firebase supporta molti metodi di autenticazione comuni e si integra con le regole di sicurezza Firebase per fornire funzionalità di verifica complete.

Puoi impostare ulteriori informazioni di autenticazione personalizzate per la tua app.

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

Definisci le tue strutture di dati e regole

Definisci i dati per la sicurezza

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

Ad esempio, in Realtime Database, potresti voler includere un campo che denoti un ruolo specifico per ogni utente. Quindi, le tue regole possono leggere quel campo e usarlo per concedere l'accesso basato sui ruoli.

Quando definisci le tue architetture di dati e regole, tieni presente il modo in cui le regole si sovrappongono o non si sovrappongono, a seconda del prodotto. Con Realtime Database, le regole funzionano dall'alto verso il basso, con regole meno profonde che prevalgono su regole più profonde. Se una regola concede autorizzazioni di lettura o scrittura in un determinato percorso, concede anche l'accesso a tutti i nodi figlio sotto di essa. Al contrario, con Cloud Firestore e Cloud Storage, le regole si applicano solo a livelli specifici della gerarchia dei dati e tu scrivi regole esplicite per controllare l'accesso a livelli diversi.

Accedi alle tue regole

Per visualizzare le regole esistenti, utilizza l'interfaccia a riga di comando di Firebase o la console di 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ù di recente delle regole di sicurezza Firebase.

Per accedere alle tue regole dalla console Firebase , seleziona il tuo progetto, quindi nel pannello di navigazione a sinistra, fai clic su Database in tempo reale . Fai clic su Regole una volta che sei nel database o nel bucket di archiviazione corretto.

Per accedere alle tue regole dalla CLI di Firebase, vai al file delle regole annotato nel tuo file firebase.json .

Scrivi le regole di base

Mentre sviluppi la tua app e comprendi le regole, prova a implementare le regole per affrontare alcuni casi d'uso di base , inclusi i seguenti:

  • Solo proprietario del contenuto: limita l'accesso al contenuto da parte dell'utente.
  • Accesso misto: limita l'accesso in scrittura per utente, ma consente l'accesso in lettura pubblica.
  • Accesso basato sugli attributi: limita l'accesso a un gruppo o a un tipo di utente.

Metti alla prova le tue regole

Se stai configurando le regole di sicurezza Firebase nella console Firebase, puoi utilizzare Firebase Rules Playground per convalidare rapidamente il comportamento. Tuttavia, consigliamo di eseguire test più approfonditi con Local Emulator Suite prima di distribuire le modifiche alla produzione.

Regole di distribuzione

Utilizza la console Firebase o l'interfaccia a riga di comando di Firebase per distribuire le regole alla produzione. Segui i passaggi descritti in Gestire e distribuire le regole di sicurezza Firebase .