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 tous 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é pour les 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 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 un outil similaire) pour distribuer une application à un ensemble spécifique de personnes. Il est plus difficile de restreindre l'accès aux applications Web. Envisagez de configurer une fonction de blocage pour les environnements de préproduction qui limite l'accès aux utilisateurs dont les adresses e-mail sont spécifiques à votre domaine. Vous pouvez également, si vous utilisez Firebase Hosting, configurer vos workflows de préproduction pour qu'ils utilisent des URL d'aperçu temporaires.

  • Lorsqu'un environnement n'a pas besoin d'être conservé et n'est utilisé que par une seule personne (ou, dans le cas de tests, par une seule machine), utilisez la 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 que vous avez configuré Firebase Security Rules dans les environnements de préproduction, comme vous le faites en production. En général, les Security Rules doivent être les mêmes dans tous les environnements. Toutefois, comme les règles changent avec le code, il est possible que certaines règles plus tôt dans le pipeline 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 une personne malveillante, mais vous le rendrez plus difficile :

  • Activez et appliquez App Check pour tous les produits que vous utilisez et qui sont compatibles. App Check s'assure que les requêtes adressées à vos services 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. Faites-le donc dès que possible.

  • Rédigez des règles de sécurité Firebase robustes Firebase Security Rules. Realtime Database, Cloud Firestore, et Cloud Storage s'appuient tous sur des Security Rules configurées par les développeurs pour déterminer qui doit et ne doit pas pouvoir accéder aux données. Il est essentiel pour votre sécurité que vous rédigiez de bonnes 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