Lista de tareas de seguridad para usar Firebase AI Logic

Cuando llamas a la Gemini API directamente desde tus apps web y para dispositivos móviles, proteger tu infraestructura de backend, tu cuota y tus instrucciones patentadas requiere un enfoque de defensa en profundidad de varias capas. Revisa esta lista de tareas para implementar las prácticas recomendadas de seguridad para Firebase AI Logic.

Verificación de la app, el dispositivo y el usuario

Verifica que las solicitudes entrantes provengan de instancias legítimas y no adulteradas de tu app que se ejecutan en dispositivos auténticos, así como de usuarios auténticos.

Aplicar Firebase App Check

Aplica Firebase App Check para ayudar a proteger Gemini API contra abusos cuando se llama directamente desde tu app. Cuando se aplica App Check, se verifica que las solicitudes entrantes provengan de tu app auténtica o de un dispositivo no adulterado.

App Check admite proveedores de certificación para plataformas de Apple (DeviceCheck, App Attest o reCAPTCHA Enterprise), Android (Play Integrity o reCAPTCHA Enterprise) y Web (reCAPTCHA Enterprise). También admite todos estos proveedores para apps de Flutter y Unity.

A partir de principios de julio de 2026, Firebase aplicará automáticamente App Check para Firebase AI Logic durante la configuración guiada en la consola de Firebase. Si configuraste Firebase AI Logic antes, asegúrate de aplicar App Check de forma explícita. Para el desarrollo local, puedes configurar el App Check proveedor de depuración y, luego, registrar tu app con un proveedor de certificación de producción antes de lanzarla para los usuarios finales.

Habilita la protección contra repetición con tokens de uso limitado

Como parte de la configuración de App Check, considera aplicar la protección contra repetición para que los tokens de App Check sean de un solo uso. Esta opción ofrece protección mejorada más allá de la protección básica y te permite establecer un nivel adecuado de protección para tu app y tus casos de uso.

Configura restricciones para tus claves de API de Firebase

Las claves de API de Firebase identifican tu proyecto de Firebase y app cuando realizas solicitudes. Para evitar el uso no autorizado de tus claves de API, haz lo siguiente:

  • Establece "Restricciones de aplicaciones" en la consola de Google Cloud para limitar el uso de la clave solo a las solicitudes del ID de paquete específico de tu app (Apple), el nombre del paquete y la huella digital SHA-1 (Android) o la URL de referencia HTTP (Web).

  • Revisa la lista de entidades permitidas de las "restricciones de API" de cada clave:

    • Asegúrate de que la API de Firebase AI Logic (firebasevertexai.googleapis.com) esté en la lista de entidades permitidas.
    • Asegúrate de que las únicas otras APIs en la lista de entidades permitidas sean los servicios específicos de Firebase que requiere tu app. Consulta la lista de APIs obligatorias para las claves restringidas de Firebase.

Ten en cuenta que las APIs relacionadas con Firebase usan claves de API solo para identificar el proyecto o la app de Firebase, no para la autorización de llamar a la API.

Restringe las solicitudes solo a usuarios autenticados

Considera aplicar el modo de usuarios autenticados para que todas las solicitudes a través de Firebase AI Logic deban incluir credenciales válidas de Firebase Authentication. Si una solicitud proviene de un usuario final no autenticado, se rechaza con un error 401: unauthenticated.

Protección de instrucciones y refuerzo de solicitudes

Evita que la descompilación del cliente exponga tus diseños de instrucciones y bloquea tu backend para que los usuarios maliciosos no puedan ejecutar instrucciones arbitrarias.

Usa plantillas de instrucciones del servidor

Usa plantillas de instrucciones del servidor para mantener las instrucciones, las instrucciones del sistema y las configuraciones del modelo de forma segura en la nube, en lugar de codificarlas de forma rígida en el código de la app cliente, donde se pueden extraer con la descompilación binaria.

Tu app solo hace referencia a un ID de plantilla y pasa variables de entrada dinámicas. Las plantillas de instrucciones del servidor también te permiten actualizar las instrucciones o cambiar de modelo según sea necesario sin lanzar una nueva versión de tu app.

Valida y depura las variables de plantilla proporcionadas por el cliente

Las plantillas de instrucciones del servidor protegen el diseño de tus instrucciones, pero las plantillas que aceptan variables dinámicas aún pueden ser susceptibles a la inyección de instrucciones. Dado que las plantillas concatenan las variables de entrada del usuario en la instrucción final, asegúrate de hacer lo siguiente:

  • Valida y limpia todas las entradas del usuario en el cliente antes de pasar variables a una plantilla (por ejemplo, aplica límites de caracteres y formatos esperados).
  • Incluye instrucciones claras del sistema en tus plantillas que definan parámetros de protección sobre cómo se procesa la entrada del usuario.

Aplicar el modo de solo plantilla

Considera aplicar el modo solo de plantilla una vez que todas las funciones de tu app usen plantillas de instrucciones del servidor. Cuando se aplica, Firebase AI Logic bloquea todas las solicitudes directas y sin plantillas al Gemini API (403: unauthorized), lo que impide que los agentes maliciosos envíen instrucciones arbitrarias o abusen de tu cuota.

Supervisión, límites y facturación

Obtén visibilidad del tráfico entrante y las anomalías de seguridad, y protege tu proyecto de aumentos inesperados en el uso o costos descontrolados.

Configura la supervisión basada en IA en la consola de Firebase

Configura la supervisión de la IA en la consola de Firebase para obtener visibilidad de las métricas clave, como los recuentos de solicitudes, la latencia, el uso de tokens y las tasas de error (incluidos los errores de autenticación de 401 y los bloques solo de plantillas de 403). También puedes inspeccionar seguimientos individuales en la consola de Google Cloud.

Establece límites de frecuencia y administra cuotas

Protege tu proyecto de aumentos inesperados en el uso y ataques de denegación de billetera:

Evita facturas sorpresa con alertas y límites de inversión

Si tu proyecto de Firebase tiene el plan de precios Blaze de pago por uso, haz lo siguiente:

Próximos pasos