Directives générales de sécurité pour différents environnements de flux de travail de développement

Cette page décrit les meilleures pratiques les plus importantes en matière de sécurité dans tous les environnements, mais consultez la liste de contrôle de sécurité pour obtenir des conseils plus détaillés et approfondis 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'un acteur malveillant capable d'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 quelque chose de similaire) pour distribuer une application à un ensemble spécifique de personnes. Les applications Web sont plus difficiles à restreindre ; envisagez de mettre en place une fonction de blocage pour les environnements de pré-production qui restreint l'accès aux utilisateurs disposant d'adresses e-mail spécifiques à votre domaine. Ou, si vous utilisez Firebase Hosting, configurez vos flux de travail de pré-production pour utiliser des URL d'aperçu temporaires .

  • Lorsqu'un environnement n'a pas besoin d'être persistant et n'est utilisé que par une seule personne (ou dans le cas de tests, par une seule machine), 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 les ressources cloud.

  • Assurez-vous que les règles de sécurité Firebase sont configurées dans les environnements de pré-production, comme vous le faites en production. En général, les règles doivent être les mêmes dans tous les environnements, avec la réserve que, étant donné que 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é des environnements de production

Les données de production sont toujours une cible, même si l’application est obscure. Le respect de ces directives n'empêche pas un acteur malveillant d'obtenir vos données, mais cela rend la tâche plus difficile :

  • Activez et appliquez App Check pour tous les produits que vous utilisez et qui le prennent en charge. App Check s'assure que les demandes adressées à vos services backend proviennent de vos applications authentiques. Pour l'utiliser, vous devez enregistrer chaque version de votre application auprès d'App Check. Il est plus facile à configurer avant d'avoir des utilisateurs, alors configurez-le dès que possible.

  • Écrivez des règles de sécurité Firebase robustes. Realtime Database, Cloud Firestore et Cloud Storage s'appuient tous sur des règles configurées par le développeur 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 règles. Si vous ne savez pas comment procéder, commencez par cet atelier de programmation .

  • Consultez la liste de contrôle de sécurité pour obtenir plus de recommandations sur la sécurité des environnements de production.

Prochaines étapes