Consignes de sécurité générales pour différents environnements de workflow de développement

Cette page décrit les bonnes pratiques de sécurité les plus importantes pour les environnements. Toutefois, consultez la checklist de sécurité pour obtenir des conseils plus détaillés et 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'un acteur malveillant qui parvient à 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 une méthode similaire) pour distribuer une application à un ensemble spécifique de personnes. Il est plus difficile de restreindre les applications Web. Envisagez de configurer une fonction de blocage pour les environnements de préproduction qui limite l'accès aux utilisateurs dont l'adresse e-mail est spécifique à votre domaine. Si vous utilisez Firebase Hosting, configurez vos workflows de préproduction pour qu'ils utilisent des URL d'aperçu temporaires.

  • Lorsque vous n'avez pas besoin de conserver un environnement 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 localhost au lieu d'utiliser des ressources cloud.

  • Assurez-vous d'avoir configuré Firebase Security Rules dans les environnements de préproduction, comme vous le faites en production. En général, Security Rules doit être le même dans tous les environnements, à ceci près que les règles changeant 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 obscure. En suivant ces consignes, vous ne rendrez pas impossible l'accès à vos données par un acteur malveillant, mais vous le rendrez plus difficile :

  • Activez et appliquez App Check pour tous les produits que vous utilisez et qui sont compatibles avec cette fonctionnalité. App Check s'assure que les requêtes envoyées à vos services de backend proviennent bien de vos applications authentiques. Pour l'utiliser, vous devez enregistrer chaque version de votre application avec App Check. Il est plus facile de configurer l'authentification à deux facteurs avant d'avoir des utilisateurs. Faites-le donc dès que possible.

  • Écrivez des Firebase Security Rules robustes. Realtime Database, Cloud Firestore et Cloud Storage s'appuient tous sur Security Rules configuré par le développeur pour déterminer qui doit avoir accès aux données et qui ne doit pas y avoir accès. Il est essentiel pour votre sécurité que vous rédigiez de bons Security Rules. 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