Informazioni sulle Regole di sicurezza Firebase per Cloud Storage

Tradizionalmente, la sicurezza è stata una delle parti più complesse dello sviluppo di app. Nella maggior parte delle applicazioni, gli sviluppatori devono creare ed eseguire un server che gestisce l'autenticazione (chi è un utente) e l'autorizzazione (cosa può fare un utente). L'autenticazione e l'autorizzazione sono difficili da configurare, ancora più difficili da eseguire correttamente e fondamentali per il successo del tuo prodotto.

Analogamente a come Firebase Authentication semplifica l'autenticazione degli utenti, Firebase Security Rules per Cloud Storage semplifica l'autorizzazione degli utenti e la convalida delle richieste. Cloud Storage Security Rules gestisce la complessità per te consentendoti di specificare autorizzazioni basate sui percorsi. In poche righe di codice, puoi scrivere regole di autorizzazione che limitano le richieste di Cloud Storage a un determinato utente o limitano le dimensioni di un caricamento.

Firebase Realtime Database ha una funzionalità simile, chiamata Firebase Realtime Database Security Rules

Per l'assistenza AI, copia il prompt di seguito nel tuo agente di programmazione AI (come Gemini in Android Studio, Antigravity, Claude Code, Codex e Cursor). Puoi personalizzare il prompt e ripetere l'operazione con l'agente. Visita la pagina relativa alle skill 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.

Autenticazione

Sapere chi sono i tuoi utenti è una parte importante della creazione di un'applicazione e Firebase Authentication fornisce una soluzione di autenticazione facile da usare, sicura e solo lato client. Firebase Security Rules per Cloud Storage si collega a Firebase Authentication per la sicurezza basata sulla base utenti. Quando un utente viene autenticato con Firebase Authentication, la variabile request.auth in Cloud Storage Security Rules diventa un oggetto che contiene l'ID univoco dell'utente (request.auth.uid) e tutte le altre informazioni dell'utente nel token (request.auth.token). Quando l'utente non è autenticato, request.auth è null. In questo modo puoi controllare in modo sicuro l'accesso ai dati per ogni utente. Per saperne di più, consulta la sezione Autenticazione.

Autorizzazione

L'identificazione dell'utente è solo una parte della sicurezza. Una volta che sai chi sono, devi trovare un modo per controllare il loro accesso ai file in Cloud Storage.

Cloud Storage ti consente di specificare regole di autorizzazione per file e per percorso che risiedono sui nostri server e determinano l'accesso ai file nella tua app. Ad esempio, le Cloud Storage Security Rules predefinite richiedono Firebase Authentication per eseguire qualsiasi operazione read o write su tutti i file:

service firebase.storage {
  match /b/{bucket}/o {
    match /someFolder/{fileName} {
      allow read, write: if request.auth != null;
    }
  }
}

Puoi modificare queste Security Rules nella console Firebase andando alla scheda Database e archiviazione > Archiviazione > Regole.

Convalida dei dati

Firebase Security Rules per Cloud Storage può essere utilizzato anche per la convalida dei dati, inclusa la convalida del nome e del percorso del file, nonché delle proprietà dei metadati del file, come contentType e size.

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}

Passaggi successivi

  • Inizia a pianificare lo sviluppo delle regole per i tuoi bucket Cloud Storage.

  • Scopri di più sulla protezione dei dati utilizzando le regole di sicurezza.

Difesa in profondità con i Controlli di servizio VPC

Puoi utilizzare i Controlli di servizio VPC per proteggere l'intero progetto con un perimetro di sicurezza. Si tratta di un'alternativa più completa al controllo degli accessi più granulare fornito da Cloud Storage Security Rules.

Le regole di sicurezza di Firebase e i Controlli di servizio VPC funzionano insieme: le regole di sicurezza gestiscono l'autorizzazione (chi può accedere a quale file), mentre i Controlli di servizio VPC forniscono protezione a livello di rete (impedendo ai dati di uscire dall'ambiente autorizzato). Questo approccio a più livelli è una best practice per proteggere i dati aziendali sensibili.