Questa pagina descrive le best practice più importanti per la sicurezza in tutti gli ambienti, ma consulta l'elenco di controllo di sicurezza per indicazioni più dettagliate e complete su sicurezza e Firebase.
Sicurezza per gli ambienti di pre-produzione
Uno dei vantaggi della separazione degli ambienti in progetti Firebase diversi è che un malintenzionato che riesce ad accedere ai tuoi ambienti di pre-produzione non potrà accedere ai dati degli utenti reali. Ecco le precauzioni di sicurezza più importanti da adottare per gli ambienti di pre-produzione:
Limitare l'accesso agli ambienti di pre-produzione. Per le app mobile, utilizza App Distribution (o un valore simile) per distribuire un'app a un insieme specifico di persone. Le applicazioni web sono più difficili da limitare; valuta la possibilità di configurare una funzione di blocco per gli ambienti di pre-produzione che limita l'accesso agli utenti con indirizzi email specifici per il tuo dominio. In alternativa, se utilizzi Firebase Hosting, configura i workflow di pre-produzione in modo che utilizzino URL di anteprima temporanei.
Quando un ambiente non deve essere reso persistente e viene utilizzato solo da una persona (o, nel caso dei test, da una macchina), utilizza Firebase Local Emulator Suite. Questi emulatori sono più sicuri e più veloci perché possono funzionare interamente su localhost anziché utilizzare risorse cloud.
Assicurati di aver configurato Firebase Security Rules negli ambienti di pre-produzione, proprio come in produzione. In generale, Security Rules deve essere lo stesso in tutti gli ambienti, con l'avvertenza che, poiché le regole cambiano con il codice, potrebbero esserci regole precedenti nella pipeline che non esistono ancora in produzione.
Sicurezza per gli ambienti di produzione
I dati di produzione sono sempre un obiettivo, anche se l'app è poco conosciuta. Il rispetto di queste linee guida non impedisce a un malintenzionato di ottenere i tuoi dati, ma rende l'operazione più difficile:
Attiva e applica App Check per tutti i prodotti che utilizzi che lo supportano. App Check assicura che le richieste ai tuoi servizi di backend provengano dalle tue app originali. Per utilizzarlo, devi registrare ogni versione della tua app con App Check. È più facile configurarlo prima di avere utenti, quindi fallo il prima possibile.
Scrivi Firebase Security Rules robusti. Realtime Database, Cloud Firestore e Cloud Storage si basano tutti su Security Rules configurati dallo sviluppatore per stabilire chi può e chi non può accedere ai dati. Per la tua sicurezza è fondamentale che tu scriva Security Rules efficaci. Se non sai come fare, inizia con questo codelab.
Consulta l'elenco di controllo per la sicurezza per ulteriori consigli sulla sicurezza per gli ambienti di produzione.