Firebase Security Rules offre una protezione robusta e completamente personalizzabile per i tuoi dati in Cloud Firestore, Realtime Database e Cloud Storage. Puoi iniziare facilmente a utilizzare Security Rules seguendo i passaggi descritti in questa guida, proteggendo i tuoi dati e la tua app da utenti malintenzionati.
Prompt AI per l'assistenza AI
Per l'assistenza AI, copia il prompt riportato di seguito nel tuo agente di programmazione AI (come Gemini in Android Studio, Antigravity, Claude Code, Codex e Cursor). Puoi personalizzare il prompt e interagire con l'agente. Visita la pagina Competenze dell'agente Firebase per informazioni dettagliate sull'installazione.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.
Comprendere la lingua Firebase Security Rules
Prima di iniziare a scrivere regole, è utile dedicare un po' di tempo a esaminare
il linguaggio specifico Firebase Security Rules per i prodotti Firebase che utilizzi.
Cloud Storage utilizza un superset
del Common Expression Language (CEL) che si basa sulle istruzioni match e allow
che impostano una condizione per l'accesso a un percorso definito.
Inizia imparando la sintassi di base del linguaggio Firebase Security Rules.
Configura Authentication
Se non l'hai ancora fatto, aggiungi Firebase Authentication alla tua app. Firebase Authentication supporta molti metodi di autenticazione comuni e si integra con Firebase Security Rules per fornire funzionalità di verifica complete.
Puoi configurare informazioni di autenticazione personalizzate aggiuntive per la tua app.
Scopri di più su Firebase Security Rules e Firebase Authentication.
Definisci le strutture di dati e regole
Struttura i dati con attenzione per allinearli ai tuoi requisiti di sicurezza.
Il modo in cui strutturi i dati potrebbe influire sul modo in cui strutturi e implementi le regole. Quando definisci le strutture dei dati, considera le implicazioni che potrebbero avere sulla struttura di Security Rules.
Ad esempio, in Cloud Storage, potresti voler includere un campo che indichi un ruolo specifico per ogni utente. Le regole possono quindi leggere questo campo e utilizzarlo per concedere l'accesso basato sui ruoli. Puoi anche creare un database Cloud Firestore, archiviare i criteri di accesso nei documenti Cloud Firestore e poi accedere a questi documenti da Cloud Storage Security Rules.
Quando definisci le architetture di dati e regole, tieni presente il modo in cui le regole vengono applicate a cascata o meno, a seconda del prodotto. Con Realtime Database, le regole funzionano dall'alto verso il basso e le regole meno profonde sostituiscono quelle più profonde. Se una regola concede autorizzazioni di lettura o scrittura in un determinato percorso, concede anche l'accesso a tutti i nodi secondari sottostanti. Al contrario, con Cloud Firestore e Cloud Storage, le regole vengono applicate solo ai livelli specificati della gerarchia dei dati e scrivi regole esplicite per controllare l'accesso a diversi livelli.
Accedere alle regole
Per visualizzare il tuo Security Rules esistente, utilizza Firebase gcloud CLI o la console Firebase. Assicurati di modificare le regole utilizzando lo stesso metodo in modo coerente per evitare di sovrascrivere per errore gli aggiornamenti. Se non sai se le regole definite localmente riflettono gli aggiornamenti più recenti, la console Firebase mostra sempre la versione più recente del tuo Firebase Security Rules.
Per accedere alle regole dalla console Firebase, seleziona il tuo progetto, poi fai clic su Storage nel pannello di navigazione a sinistra. Fai clic su Security Rules quando ti trovi nel database o nel bucket di archiviazione corretto.
Per accedere alle regole dalla CLI Firebase, vai al file delle regole indicato nel file firebase.json.
Scrivere regole di base
Mentre sviluppi la tua app e comprendi Security Rules, prova a implementare Security Rules per risolvere alcuni casi d'uso di base, tra cui:
- Solo proprietario dei contenuti:limita l'accesso ai contenuti per utente.
- Accesso misto:limita l'accesso in scrittura per utente, ma consenti l'accesso in lettura pubblico.
- Accesso basato su attributi:limita l'accesso a un gruppo o a un tipo di utente.
Testare le regole
Se stai configurando Firebase Security Rules nella console Firebase, puoi utilizzare il Firebase Rules Playground per convalidare rapidamente il comportamento. Tuttavia, ti consigliamo di eseguire test più approfonditi con Local Emulator Suite prima di implementare le modifiche in produzione.
Esegui il deployment delle regole
Utilizza la console Firebase o la CLI Firebase per eseguire il deployment delle regole in produzione. Segui i passaggi descritti in Gestire e implementare Firebase Security Rules.