Catch up on highlights from Firebase at Google I/O 2023. Learn more

Regole di sicurezza di Firebase

Utilizza le nostre regole di sicurezza Firebase flessibili ed estendibili per proteggere i tuoi dati in Cloud Firestore, Firebase Realtime Database e Cloud Storage.

Le regole di sicurezza di Firebase si frappongono tra i tuoi dati e gli utenti malintenzionati. Puoi scrivere regole semplici o complesse che proteggano i dati della tua app al livello di granularità richiesto dalla tua app specifica.

Le regole di sicurezza di Firebase sfruttano linguaggi di configurazione estensibili e flessibili per definire a quali dati possono accedere gli utenti per Realtime Database, Cloud Firestore e Cloud Storage. Le regole di sicurezza del database in tempo reale di Firebase sfruttano JSON nelle definizioni delle regole, mentre le regole di sicurezza di Cloud Firestore e le regole di sicurezza di Firebase per Cloud Storage sfruttano un linguaggio univoco creato per ospitare strutture specifiche di regole più complesse.

Scopri di più su come configurare le regole per i prodotti Firebase specifici che utilizzi nella tua app e su come il comportamento delle regole differisce tra i prodotti Firebase.

Capacità chiave

Flessibilità Scrivi regole personalizzate che abbiano senso per la struttura e il comportamento della tua app. Le regole utilizzano linguaggi che ti consentono di sfruttare i tuoi dati per autorizzare l'accesso.
Granularità Le tue regole possono essere ampie o ristrette quanto ti serve.
Sicurezza indipendente Poiché le regole sono definite al di fuori della tua app (nella console di Firebase o nella CLI di Firebase), i client non sono responsabili dell'applicazione della sicurezza, i bug non compromettono i dati e i tuoi dati sono sempre protetti.

Come funzionano?

Le regole di sicurezza di Firebase funzionano confrontando un modello con i percorsi del database e quindi applicando condizioni personalizzate per consentire l'accesso ai dati in tali percorsi. Tutte le regole nei prodotti Firebase hanno un componente di corrispondenza del percorso e un'istruzione condizionale che consente l'accesso in lettura o scrittura. Devi definire le regole per ogni prodotto Firebase che utilizzi nella tua app.

Per Cloud Firestore e Cloud Storage, le regole utilizzano la seguente sintassi:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

Per Realtime Database, le regole basate su JSON utilizzano la seguente sintassi:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Le regole vengono applicate come istruzioni OR , non come istruzioni AND . Di conseguenza, se più regole corrispondono a un percorso e una qualsiasi delle condizioni soddisfatte concede l'accesso, le regole concedono l'accesso ai dati in quel percorso. Pertanto, se una regola generica concede l'accesso ai dati, non è possibile limitare con una regola più specifica. Puoi, tuttavia, evitare questo problema assicurandoti che le tue Regole non si sovrappongano troppo. Il flag delle regole di sicurezza di Firebase si sovrappone nei percorsi corrispondenti come avvisi del compilatore.

Le regole di sicurezza di Firebase possono anche sfruttare l'autenticazione per concedere autorizzazioni basate sull'utente e le condizioni impostate possono essere molto semplici o incredibilmente complesse. Scopri di più sul linguaggio e sul comportamento delle regole prima di iniziare a scrivere le regole.

Percorso di attuazione

Integra gli SDK del prodotto Configura Cloud Firestore , Cloud Storage o Realtime Database per la tua app.
Scrivi le tue regole di sicurezza Firebase Scopri di più su come funzionano le regole e imposta alcune regole di base
Metti alla prova le tue regole di sicurezza Firebase Utilizza gli emulatori di Realtime Database e Cloud Firestore per testare il comportamento della tua app e convalidare le tue regole prima di distribuirle alla produzione.
Distribuisci le tue regole di sicurezza Firebase Utilizza la console di Firebase o l'interfaccia a riga di comando di Firebase per distribuire le tue regole alla produzione.

Prossimi passi