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.
- Asegúrate de que la API de Firebase AI Logic (
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:
- Establece límites de frecuencia por usuario (el valor predeterminado es de 100 RPM) para evitar que las instancias de clientes individuales consuman una cuota excesiva.
- Revisa y administra las cuotas del proyecto en la consola de Google Cloud para cada API subyacente.
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:
Configura alertas de presupuesto y límites de inversión.
Próximos pasos
- Revisa la lista de tareas de seguridad de Firebase general.
- Revisa la lista de tareas de producción general para Firebase AI Logic.
- Obtén más información sobre los precios y la administración de costos de Firebase AI Logic.