Consignes de sécurité générales pour différents environnements de workflow de développement
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page décrit les bonnes pratiques les plus importantes en matière de sécurité
mais examinez
Checklist de sécurité pour obtenir des informations plus détaillées
des conseils détaillés sur la sécurité et Firebase.
Sécurité pour les environnements de préproduction
L'un des avantages de séparer les environnements dans différents projets Firebase est qu'un
un acteur malveillant capable d'accéder
à vos environnements de pré-production ne pourra
accéder à des données
utilisateur réelles. Voici les précautions de sécurité 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 élément similaire) pour distribuer une application à un ensemble spécifique d'utilisateurs. Les applications Web sont plus difficiles à limiter. 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. Ou, si vous utilisez
Firebase Hosting, configurez vos workflows de préproduction
URL d'aperçu temporaires.
Quand un environnement n'a pas besoin d'être persistant et n'est utilisé que par un seul
(ou, dans le cas d'un test, sur une seule machine), utilisez
Firebase Local Emulator Suite Ces émulateurs sont plus sûrs
et plus rapides, car elles peuvent travailler entièrement sur localhost au lieu d'utiliser
ressources.
Assurez-vous d'avoir configuré Firebase Security Rules en préproduction.
comme en production. En général, Rules doit
être les mêmes dans tous les environnements, à ceci près que, puisque les règles
il peut y avoir des règles qui se trouvent déjà dans le pipeline, mais qui n'existent pas encore dans
en production.
Sécurité des environnements de production
Les données de production sont toujours une cible, même si l'application est peu claire. Suivre ces consignes ne rend pas impossible l'accès d'un acteur malveillant à vos données, mais cela le rend plus difficile :
Activer et appliquer les App Check pour tous les produits
vous utilisez ce support. App Check s'assure que les requêtes envoyées à vos services backend proviennent de vos applications authentiques. Pour l'utiliser, vous devez enregistrer chaque version de votre application avec App Check. Il est plus facile de
est configuré avant d'avoir des utilisateurs, donc faites-le dès que possible.
Rédigez des Firebase Security Rules robustes. Realtime Database, Cloud Firestore et
Cloud Storage reposent tous sur des Rules configurés par le développeur pour
appliquer qui devrait et ne
devrait pas avoir accès aux données. Il est essentiel de
de sécurité que vous écrivez bien 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
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[],[],null,["This page describes the most important best practices for security across\nenvironments, but review the\n[*Security checklist*](/support/guides/security-checklist) for more detailed and\nthorough guidance about security and Firebase.\n\nSecurity for pre-production environments\n\nOne benefit of separating environments in different Firebase projects is that a\nmalicious actor who is able to access your pre-prod environments won't be able\naccess real user data. Here are the most important security precautions to take\nfor pre-production environments:\n\n- Limit access to pre-prod environments. For mobile apps, use\n [App Distribution](/docs/app-distribution) (or something similar) to distribute\n an app to a specific set of people. Web applications are harder to restrict;\n consider setting up a\n [blocking function](https://cloud.google.com/identity-platform/docs/blocking-functions)\n for the pre-prod environments that restricts access to users with email\n addresses that are specific to your domain. Or, if you're using\n Firebase Hosting, set up your pre-prod workflows to use\n [temporary preview URLs](/docs/hosting/test-preview-deploy).\n\n- When an environment doesn't need to be persisted and is only being used by one\n person (or in the case of tests, by one machine) use the\n [Firebase Local Emulator Suite](/docs/emulator-suite). These emulators are safer\n and faster because they can work entirely on localhost instead of using cloud\n resources.\n\n- Make sure that you have [Firebase Security Rules](/docs/rules) set up in pre-production\n environments, just as you do in prod. In general, the Rules should\n be the same across environments, with the caveat that since rules change with\n code, there may be rules earlier in the pipeline that don't yet exist in\n production.\n\nSecurity for production environments\n\nProduction data is always a target, even if the app is obscure. Following these\nguidelines doesn't make it impossible for a malicious actor to get your data,\nbut it makes it more difficult:\n\n- Enable and enforce [App Check](/docs/app-check) for all the products\n you're using that support it. App Check makes sure that requests to your\n backend services are coming from your genuine apps. In order to use it, you\n need to register each version of your app with App Check. It's easier to\n set up before you have users, so set it up as soon as possible.\n\n- Write robust [Firebase Security Rules](/docs/rules). Realtime Database, Cloud Firestore, and\n Cloud Storage all rely on developer-configured Rules to\n enforce who should and shouldn't be able to access data. It's essential to\n your security that you write good Rules. If you're not sure how,\n start with this [codelab](/codelabs/firebase-rules).\n\n- Review the [*Security checklist*](/support/guides/security-checklist) for more\n recommendations about security for production environments.\n\nNext steps\n\n- Review the [Firebase launch checklist](/support/guides/launch-checklist)."]]