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 (l'identità di un utente) e l'autorizzazione (cosa può fare un utente). L'autenticazione e l'autorizzazione sono difficili da configurare e da gestire correttamente, ma sono 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 le autorizzazioni in base al percorso. Con poche righe di codice, puoi scrivere regole di autorizzazione che limitano le richieste Cloud Storage a un determinato utente o le dimensioni di un caricamento.
Firebase Realtime Database ha una funzionalità simile, chiamata Firebase Realtime Database Security Rules
Autenticazione
Sapere chi sono i tuoi utenti è un aspetto importante per la 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 sugli 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 sull'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 in base all'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, hai bisogno di un modo per controllare il loro accesso ai file in Cloud Storage.
Cloud Storage ti consente di specificare regole di autorizzazione per file e percorso che si trovano sui nostri server e determinano l'accesso ai file nella tua app.
Ad esempio, il valore predefinito Cloud Storage Security Rules richiede Firebase Authentication per eseguire operazioni read
o write
su tutti i file:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Puoi modificare queste regole selezionando un'app Firebase nella console Firebase
e visualizzando la scheda Rules
della sezione Spazio di archiviazione.
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ù su come proteggere i tuoi dati utilizzando le regole di sicurezza.