Regole di sicurezza di Firebase

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

Le regole di sicurezza 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 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 Firebase Realtime 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 unico creato per ospitare strutture specifiche di regole più complesse.

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

Funzionalità 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 a seconda delle tue esigenze.
Sicurezza indipendente Poiché le regole sono definite all'esterno della tua app (nella console Firebase o nella CLI 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 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 dei 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 ciascun 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 e non come istruzioni AND . Di conseguenza, se più regole corrispondono a un percorso e una qualsiasi delle condizioni corrispondenti garantisce l'accesso, le regole concedono l'accesso ai dati in quel percorso. Pertanto, se una regola generale concede l'accesso ai dati, non è possibile limitarlo 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 Firebase si sovrappone ai percorsi corrispondenti come avvisi del compilatore.

Le regole di sicurezza 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 implementazione

Integrare 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 Realtime Database e Cloud Firestore per testare il comportamento della tua app e convalidare le regole prima di distribuirle in produzione.
Distribuisci le tue regole di sicurezza Firebase Utilizza la console Firebase o la CLI Firebase per distribuire le tue regole in produzione.

Prossimi passi