Regole di sicurezza 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 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 Firebase sfruttano linguaggi di configurazione estensibili e flessibili per definire a quali dati i tuoi utenti possono accedere per Realtime Database, Cloud Firestore e Cloud Storage. Le regole del database in tempo reale 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 unico creato per adattarsi a 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 lingue 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 al di fuori 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 abbinando un modello ai percorsi del database e quindi applicando condizioni personalizzate per consentire l'accesso ai dati in quei 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 OR dichiarazioni, non AND dichiarazioni. Di conseguenza, se più regole corrispondono a un percorso e una delle condizioni soddisfatte concede l'accesso, le regole concedono l'accesso ai dati in quel percorso. Pertanto, se una regola ampia 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 Firebase Security Rules si sovrappone nei 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. Ulteriori informazioni sulle regole linguaggio e comportamento , prima di iniziare a scrivere regole.

Percorso di implementazione

Integra gli SDK del prodotto Impostare Nuvola FireStore , Cloud Storage , o in tempo reale del database per la vostra applicazione.
Scrivi le tue regole di sicurezza Firebase Scopri di più su come funzionano Regole e impostare 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