Bloquear el acceso de Firebase DB a aplicaciones específicas
Creo que al buscar en la web esto no es técnicamente posible, pero quiero volver a preguntar en caso de que me falte algo.
Tengo una aplicación que usa Firebase. La lectura y la escritura están bloqueadas mediante reglas de seguridad solo para usuarios autorizados, pero hay cierta información a la que quiero que puedan acceder los usuarios no autorizados (para no tener que colocar un muro de inicio de sesión frente a ellos, lo que influye en la rotación).
Lo que quiero saber es, ¿hay alguna forma de bloquear este acceso de lectura para que solo mi aplicación pueda llamar a la base de datos? Sé que puedo bloquear dominios para evitar que alguien escriba raspadores de host local, pero ¿qué impide que alguien clone y cambie la apariencia de una aplicación y la apunte al mismo back-end? ¿Es posible lograr esto utilizando la huella digital de su certificado?
No hay forma de limitar el acceso a su base de datos solo a su aplicación. Eso simplemente no coincide con la naturaleza basada en la nube de las API de Firebase. Cualquiera que conozca la URL de su base de datos puede, en principio, acceder a ella, y las reglas de seguridad son la forma de garantizar que todo acceso esté autorizado.
Tenga en cuenta que las reglas de seguridad no son un enfoque de todo o nada: puede solicitar el inicio de sesión para algunas partes de su base de datos y dejar otras partes legibles públicamente. Pero no puedes hacer que las partes legibles públicamente solo sean legibles mediante tu propia aplicación.
Algunas preguntas previas sobre el mismo tema:
- ¿Cómo asegurarme de que solo mi propio sitio web (código del cliente) pueda comunicarse con el backend de Firebase? (prácticamente mi respuesta preferida para esto)
- ¿Cómo permitir que solo mi aplicación acceda a Firebase sin iniciar sesión?
- Restringir el acceso a la base de datos de Firebase a una aplicación de Android
- ¿Cómo permitir que solo mi aplicación acceda a Firebase sin iniciar sesión?
Actualización : desde mayo de 2021, puede restringir el acceso solo a los usuarios de su aplicación implementando Firebase App Check .
Encontré una solución que tal vez te ayude a ti o a cualquiera que tenga una pregunta similar. Lo respondí en esta pregunta:
Restringir Cloud Firestore a un dominio específico