Firebase App Check
App Check ayuda a proteger los backends de tu app contra todo tipo de abusos, ya que impide que los clientes no autorizados accedan a tus recursos de backend. Funciona con servicios de Google (incluidos los servicios de Firebase y Google Cloud) y tus propios backends para proteger tus recursos.
Mediante App Check, los dispositivos que ejecutan tu app usarán un proveedor de certificación de apps o de dispositivos que certifique uno o ambos de los siguientes procedimientos:
- Las solicitudes se originan en tu app auténtica
- Las solicitudes se originan en un dispositivo auténtico, no adulterado
Esta certificación se adjunta a todas las solicitudes de tu app a las APIs que especifiques. Cuando habilites la aplicación de App Check, se rechazarán las solicitudes de clientes que no tienen una certificación válida, así como las solicitudes provenientes de una app o una plataforma que no autorizaste.
App Check tiene compatibilidad integrada para usar los siguientes servicios como proveedores de certificación:
- DeviceCheck o App Attest en plataformas de Apple
- Play Integrity en Android
- reCAPTCHA Enterprise en apps web
Si estos no son suficientes para tus necesidades, también puedes implementar tu propio servicio que use un proveedor de certificación externo o tus propias técnicas de certificación.
App Check funciona con los siguientes servicios de Google:
Servicios de Google compatibles |
---|
Firebase Data Connect (Vista previa) |
Realtime Database |
Cloud Firestore |
Cloud Storage |
Cloud Functions (funciones que admiten llamadas) |
Authentication (beta; requiere actualización a Firebase Authentication with Identity Platform) |
Google Identity para iOS (beta) |
Vertex AI in Firebase (Vista previa) |
También puedes usar App Check para proteger los recursos de backend que no sean de Google.
¿Cómo funciona?
Cuando habilitas App Check para un servicio y, además, incluyes el SDK cliente en tu app, sucede lo siguiente de forma periódica:
- Tu app interactúa con el proveedor de tu elección para obtener una certificación de la autenticidad de la app o del dispositivo (o de ambos, según el proveedor).
- La certificación se envía al servidor de App Check, que verifica la validez de la certificación mediante parámetros registrados en la app y muestra a tu app un token de App Check con una fecha de vencimiento. Es posible que este token retenga información sobre el material de certificación que verificó.
- El SDK cliente de App Check almacena en caché el token de tu app, el cual se encuentra listo para enviarse junto con cualquier solicitud que la app haga a servicios protegidos.
Un servicio protegido por App Check solo acepta solicitudes acompañadas de un token válido y actual de App Check.
¿Qué tan sólida es la seguridad que proporciona App Check?
App Check se basa en la solidez de sus proveedores de certificación para determinar la autenticidad de la app o del dispositivo. Se evitan algunos vectores de abuso dirigidos a los backends, pero no todos ellos. El uso de App Check no garantiza la eliminación de todos los abusos. Sin embargo, mediante la integración con App Check, estás tomando una medida importante para proteger tus recursos de backend.
¿Cómo se relaciona App Check con Firebase Authentication?
App Check y Firebase Authentication son partes complementarias de la seguridad de la app. Firebase Authentication proporciona la autenticación de usuario, que protege a los usuarios, mientras que App Check proporciona la certificación de autenticidad de los dispositivos o las apps, que te protege a ti, el desarrollador. App Check protege el acceso a tus recursos de backend de Google y los backends personalizados, ya que solicita que las llamadas a la API contengan un token de App Check válido. Estos dos conceptos funcionan juntos para ayudar a proteger la app.
Cuotas y límites
Tu uso de App Check está sujeto a las cuotas y los límites de los proveedores de certificación que uses.
El acceso a DeviceCheck y App Attest está sujeto a cualquier cuota o limitación establecida por Apple.
Play Integrity tiene una cuota diaria de 10,000 llamadas para su nivel de uso de la API estándar. Si deseas obtener más información para aumentar el nivel de uso, consulta la documentación de Play Integrity.
SafetyNet tiene una cuota diaria de 10,000 llamadas. Para obtener información sobre cómo solicitar un aumento de cuota, consulta la documentación de SafetyNet.
reCAPTCHA Enterprise proporciona 10,000 evaluaciones sin costo por mes. Una vez superada esa cuota, el servicio tiene un costo asociado. Consulta los precios de reCAPTCHA.
Comenzar
¿Todo listo para comenzar?
Plataformas de Apple
Android
Web
Flutter
C++
Unity
Obtén información para implementar un proveedor App Check personalizado
Aprende a usar App Check para proteger tus recursos de backend que no sean de Google
Selecciona tu plataforma: