Cette page décrit les bonnes pratiques les plus importantes pour la sécurité dans tous les environnements. Toutefois, consultez la checklist de sécurité pour obtenir des conseils plus détaillés et plus complets sur la sécurité et Firebase.
Sécurité des environnements de préproduction
L'un des avantages de la séparation des environnements dans différents projets Firebase est qu'une personne malveillante qui peut accéder à vos environnements de préproduction ne pourra pas accéder aux données utilisateur réelles. Voici les précautions de sécurité les plus importantes à prendre pour les environnements de préproduction :
Limitez l'accès aux environnements de préproduction. Pour les applications mobiles, utilisez App Distribution (ou un outil similaire) pour distribuer une application à un groupe de personnes spécifique. Les applications Web sont plus difficiles à restreindre. Envisagez de configurer une fonction de blocage pour les environnements de préproduction qui limite l'accès aux utilisateurs disposant d'adresses e-mail spécifiques à votre domaine. Si vous utilisez Firebase Hosting, configurez vos workflows de préproduction pour utiliser des URL d'aperçu temporaires.
Lorsqu'un environnement n'a pas besoin d'être conservé et qu'il n'est utilisé que par une seule personne (ou par une seule machine dans le cas de tests), utilisez Firebase Local Emulator Suite. Ces émulateurs sont plus sûrs et plus rapides, car ils peuvent fonctionner entièrement sur l'hôte local au lieu d'utiliser des ressources cloud.
Assurez-vous que Firebase Security Rules est configuré dans les environnements de préproduction, comme en production. En général, les Security Rules doivent être identiques dans tous les environnements, à l'exception du fait que, comme les règles changent avec le code, il peut y avoir des règles plus tôt dans le pipeline qui n'existent pas encore en production.
Sécurité pour les environnements de production
Les données de production sont toujours une cible, même si l'application est peu connue. Suivre ces consignes n'empêche pas une personne malveillante d'obtenir vos données, mais cela rend la tâche plus difficile :
Activez et appliquez l'App Check pour tous les produits que vous utilisez et qui sont compatibles. App Check s'assure que les requêtes envoyées à vos services de backend proviennent de vos applications authentiques. Pour l'utiliser, vous devez enregistrer chaque version de votre application auprès de App Check. Il est plus facile de le configurer avant d'avoir des utilisateurs. Configurez-le donc dès que possible.
Rédigez des Firebase Security Rules robustes. Realtime Database, Cloud Firestore et Cloud Storage s'appuient tous sur les Security Rules configurées par le développeur pour appliquer les règles d'accès aux données. Pour assurer votre sécurité, il est essentiel de rédiger des Security Rules de qualité. Si vous ne savez pas comment faire, commencez par cet atelier de programmation.
Consultez la checklist de sécurité pour obtenir d'autres recommandations sur la sécurité des environnements de production.
Étapes suivantes
- Consultez la checklist de lancement de Firebase.