Firebase Security Rules
Utilizza le nostre regole di sicurezza Firebase flessibili ed estensibili per proteggere i tuoi dati in Cloud Firestore, Firebase Realtime Database e Cloud Storage.
Firebase Security Rules si interpone tra i tuoi dati e gli utenti malintenzionati. Puoi scrivere regole semplici o complesse che proteggono i dati della tua app al livello di granularità richiesto dalla tua app specifica.
Firebase Security Rules sfruttano linguaggi di configurazione estensibili e flessibili per definire a quali dati possono accedere gli utenti per Realtime Database, Cloud Firestore e Cloud Storage. Firebase Realtime Database Security Rules utilizza JSON nelle definizioni delle regole, mentre Cloud Firestore Security Rules e Firebase Security Rules per Cloud Storage utilizzano un linguaggio unico creato per adattarsi a strutture più complesse specifiche delle regole.
Scopri di più su come configurare Rules per i prodotti Firebase specifici che utilizzi nella tua app e su come il comportamento di Rules varia nei diversi prodotti Firebase.
Funzionalità chiave
| Flessibilità | Scrivi regole personalizzate che abbiano senso per la struttura e il comportamento della tua app. Rules utilizza linguaggi che ti consentono di sfruttare i tuoi dati per autorizzare l'accesso. |
| Granularità | Le regole possono essere ampie o specifiche in base alle tue esigenze. |
| Sicurezza indipendente | Poiché Rules sono definiti al di fuori dell'app (nella console Firebase o nell'interfaccia a riga di comando 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?
Firebase Security Rules funzionano confrontando un pattern con i percorsi del database e poi applicando condizioni personalizzate per consentire l'accesso ai dati in questi percorsi. Tutte le Rules nei prodotti Firebase hanno un componente di corrispondenza del percorso e un'istruzione condizionale che consente l'accesso in lettura o scrittura. Devi definire Rules per ogni prodotto Firebase che utilizzi nella tua app.
Per Cloud Firestore e Cloud Storage, Rules utilizza 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, Rules basato su JSON utilizza la seguente sintassi:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Rules vengono applicati come istruzioni OR, non come istruzioni AND.
Di conseguenza, se più regole corrispondono a un percorso e una qualsiasi delle condizioni corrispondenti concede l'accesso, Rules concedi l'accesso ai dati in quel percorso. Pertanto, se una regola generale concede l'accesso ai dati, non puoi limitarlo con
una regola più specifica. Tuttavia, puoi evitare questo problema assicurandoti che i tuoi
Rules non si sovrappongano troppo. Firebase Security Rules segnala le sovrapposizioni nei
percorsi corrispondenti come avvisi del compilatore.
Firebase Security Rules può anche sfruttare Authentication per concedere autorizzazioni basate sull'utente e le condizioni che imposti possono essere molto semplici o incredibilmente complesse. Scopri di più su Rules lingua e comportamento prima di iniziare a scrivere Rules.
Percorso di implementazione
| Integra gli SDK dei prodotti | Configura Cloud Firestore, Cloud Storage o Realtime Database per la tua app. | |
| Scrivi il tuo Firebase Security Rules | Scopri di più su come funziona Rules e configura alcune Rules di base. | |
| Testa il tuo Firebase Security Rules | Utilizza gli emulatori Realtime Database e Cloud Firestore per testare il comportamento dell'app e convalidare le regole prima di eseguirne il deployment in produzione. | |
| Esegui il deployment di Firebase Security Rules | Utilizza la console Firebase o la CLI Firebase per eseguire il deployment delle regole in produzione. |
Passaggi successivi
- Comprendere la lingua Firebase Security Rules.
- Scopri di più su come funzionano i Firebase Security Rules.
- Esplora gli errori comuni da evitare.