Lineamientos de seguridad generales para diferentes entornos de flujo de trabajo de desarrollo
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describen las prácticas recomendadas más importantes para mantener la seguridad en
distintos entornos, pero consulta la
Lista de tareas de seguridad a fin de obtener orientación más detallada y
completa sobre seguridad y Firebase.
Seguridad para entornos de preproducción
Uno de los beneficios de separar los entornos en diferentes proyectos de Firebase es que si alguna
persona malintencionada quiere acceder a tus entornos de preproducción, no podrá
disponer de los datos reales de los usuarios. Estas son las precauciones de seguridad más importantes que debes
considerar para los entornos de preproducción:
Limita el acceso a los entornos de preproducción. En el caso de las apps para dispositivos móviles, usa
App Distribution (o un producto similar) para distribuir
una app a un conjunto específico de personas. Es más difícil restringir las aplicaciones web;
es recomendable que configures una
función de bloqueo
para entornos de preproducción que restrinja el acceso a los usuarios con direcciones
de correo electrónico específicas de tu dominio. Si usas
Firebase Hosting, configura tus flujos de trabajo de preproducción para usar
URLs de vista previa temporales.
Cuando un entorno no necesita ser persistente y solo lo usa una
persona (o, en el caso de las pruebas, una máquina), utiliza
Firebase Local Emulator Suite. Estos emuladores son más seguros
y rápidos, ya que pueden funcionar por completo en el host local, en lugar de usar recursos
de nube.
Asegúrate de configurar las Firebase Security Rules en los entornos de
preproducción como lo haces en la producción. En general, las Rules
deben ser las mismas en todos los entornos, con la salvedad de que, como las reglas cambian con
el código, es posible que haya algunas más antiguas en la canalización que aún no existan en
producción.
Seguridad para entornos de producción
Los datos de producción son siempre blanco de ataques, incluso si la app está oculta. Si sigues estos
lineamientos, no será imposible que usuarios malintencionados obtengan tus datos,
pero será más difícil que lo logren:
Habilita y aplica App Check en todos los productos
compatibles que usas. App Check se asegura de que las solicitudes a tus
servicios de backend provengan de apps genuinas. Para usarla, debes
registrar cada versión de la app con App Check. Es más fácil
configurarla antes de tener usuarios, por lo que debes hacerlo lo antes posible.
Escribe Firebase Security Rules sólidas. Realtime Database, Cloud Firestore y
Cloud Storage dependen de Rules configuradas por el desarrollador para aplicar quién debe acceder a los datos y quién no puede acceder a los datos. Es fundamental para
tu seguridad que escribas Rules adecuadas. Si no sabes bien cómo hacerlo,
comienza con este codelab.
Revisa la Lista de tareas de seguridad para obtener más
recomendaciones sobre la seguridad de los entornos de producción.
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-04 (UTC)
[null,null,["Última actualización: 2025-08-04 (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)."]]