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 gestisca 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 Firebase Authentication, che semplifica l'autenticazione dei vostri utenti, Firebase Security Rules per Cloud Storage semplifica l'autorizzazione degli utenti e la convalida delle richieste. Cloud Storage Security Rules gestiscono la complessità per te consentendoti di specificare le autorizzazioni basate sul percorso. Con poche righe di codice, puoi scrivere regole di autorizzazione che limitano le richieste Cloud Storage a un determinato utente o limitano le dimensioni di un caricamento.

Il Firebase Realtime Database ha una funzionalità simile, denominata Firebase Realtime Database Security Rules

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 all'autenticazione. Firebase Security Rules per Cloud Storage si integra con Firebase Authentication per la sicurezza basata sull'utente. Quando un utente viene autenticato con Firebase Authentication, la variabile request.auth in Cloud Storage Security Rules diventa un oggetto che contiene l'ID utente univoco (request.auth.uid) e tutte le altre informazioni 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 regole di sicurezza di Cloud Storage predefinite richiedono Firebase Authentication per eseguire qualsiasi operazione di read o write su tutti i file:Cloud Storage Security RulesFirebase Authentication

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

Puoi modificare queste regole selezionando un'app Firebase nella Firebase console e visualizzando la scheda Rules della sezione Storage.

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 Cloud Storage bucket.

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