Lorsque vous appelez Gemini API directement depuis vos applications mobiles et Web, la protection de votre infrastructure de backend, de votre quota et de vos requêtes propriétaires nécessite une approche de défense en profondeur multicouche. Consultez cette checklist pour implémenter les bonnes pratiques de sécurité recommandées pour Firebase AI Logic.
Validation des applications, des appareils et des utilisateurs
Vérifiez que les requêtes entrantes proviennent d'instances légitimes et non altérées de votre application s'exécutant sur des appareils authentiques, ainsi que d'utilisateurs authentiques.
Appliquer Firebase App Check
Appliquez Firebase App Check pour protéger Gemini API contre les utilisations abusives lorsqu'il est appelé directement depuis votre application. Lorsque App Check est appliqué, il vérifie que les requêtes entrantes proviennent de votre application authentique et/ou d'un appareil non altéré.
App Check est compatible avec les fournisseurs d'attestation pour les plates-formes Apple (DeviceCheck, App Attest ou reCAPTCHA Enterprise), Android (Play Integrity ou reCAPTCHA Enterprise) et Web (reCAPTCHA Enterprise). Il est également compatible avec tous ces fournisseurs pour les applications Flutter et Unity.
À partir de début juillet 2026, Firebase appliquera automatiquement App Check pour Firebase AI Logic lors de la configuration guidée dans la console Firebase. Si vous avez configuré Firebase AI Logic précédemment, assurez-vous d'appliquer App Check explicitement. Pour le développement local, vous pouvez configurer le App Check fournisseur de débogage, puis enregistrer votre application auprès d'un fournisseur d'attestation de production avant de la publier auprès des utilisateurs finaux.
Activer la protection contre les attaques de répétition avec des jetons à usage limité
Lorsque vous configurez App Check, envisagez d'appliquer la protection contre les attaques de répétition afin que les jetons App Check ne soient utilisés qu'une seule fois. Cette option offre une protection renforcée au-delà de la protection de base. Elle vous permet de définir un niveau de protection adapté à votre application et à vos cas d'utilisation.
Configurer des restrictions pour vos clés API Firebase
Les clés API Firebase identifient votre projet et votre application Firebase lorsque vous effectuez des requêtes. Pour éviter toute utilisation non autorisée de vos clés API :
Définissez les restrictions liées aux applications dans la console Google Cloud pour limiter l'utilisation des clés aux requêtes provenant de l'ID de bundle spécifique de votre application (Apple), du nom du package et de l'empreinte SHA-1 (Android), ou de l'URL de provenance HTTP (Web).
Passez en revue la liste d'autorisation des restrictions d'API de chaque clé :
- Assurez-vous que l'API Firebase AI Logic (
firebasevertexai.googleapis.com) figure sur la liste d'autorisation. - Assurez-vous que les seuls autres API figurant sur la liste d'autorisation sont les services Firebase spécifiques requis par votre application. Consultez la liste des API requises pour les clés Firebase restreintes.
- Assurez-vous que l'API Firebase AI Logic (
Notez que les API liées à Firebase utilisent des clés API uniquement pour identifier le projet ou l'application Firebase, et non pour autoriser l'appel de l'API.
Restreindre les demandes aux utilisateurs authentifiés uniquement
Envisagez d'activer le mode Utilisateurs authentifiés afin que toutes les requêtes via Firebase AI Logic incluent des identifiants valides provenant de Firebase Authentication. Si une requête provient d'un utilisateur final non authentifié, elle est refusée et une erreur 401: unauthenticated est renvoyée.
Protection des requêtes et renforcement des demandes
Empêchez la décompilation du client d'exposer vos conceptions d'invites et verrouillez votre backend afin que les utilisateurs malveillants ne puissent pas exécuter d'invites arbitraires.
Utiliser des modèles de prompts côté serveur
Utilisez des modèles de prompts côté serveur pour conserver les prompts, les instructions système et les configurations de modèle de manière sécurisée dans le cloud, plutôt que de les coder en dur dans le code de l'application cliente, où ils peuvent être extraits à l'aide de la décompilation binaire.
Votre application ne fait référence qu'à un ID de modèle et transmet des variables d'entrée dynamiques. Les modèles de prompts côté serveur vous permettent également de mettre à jour les prompts ou de changer de modèle à la demande, sans avoir à publier une nouvelle version de votre application.
Valider et assainir les variables de modèle fournies par le client
Les modèles de prompts côté serveur protègent la conception de vos prompts, mais les modèles qui acceptent les variables dynamiques peuvent toujours être sensibles à l'injection de prompts. Étant donné que les modèles concatènent les variables d'entrée utilisateur dans le prompt final, veillez à effectuer les opérations suivantes :
- Validez et nettoyez toutes les entrées utilisateur sur le client avant de transmettre des variables à un modèle (par exemple, en appliquant des limites de caractères et des formats attendus).
- Incluez des instructions système claires dans vos modèles qui définissent des limites pour le traitement des entrées utilisateur.
Activer le mode Modèle uniquement
Envisagez d'appliquer le mode modèle uniquement une fois que toutes les fonctionnalités de votre application utilisent des modèles de prompts côté serveur. Lorsqu'il est appliqué, Firebase AI Logic bloque toutes les requêtes directes et non basées sur un modèle envoyées à Gemini API (403: unauthorized), ce qui empêche les acteurs malveillants d'envoyer des requêtes arbitraires ou d'abuser de votre quota.
Surveillance, limites et facturation
Gagnez en visibilité sur le trafic entrant et les anomalies de sécurité, et protégez votre projet contre les pics d'utilisation inattendus ou les coûts incontrôlables.
Configurer la surveillance de l'IA dans la console Firebase
Configurez la surveillance de l'IA dans la console Firebase pour obtenir de la visibilité sur les métriques clés, comme le nombre de requêtes, la latence, l'utilisation des jetons et les taux d'erreur (y compris les échecs d'authentification 401 et les blocs 403 réservés aux modèles).
Vous pouvez également inspecter des traces individuelles dans la console Google Cloud.
Définir des limites de débit et gérer les quotas
Protégez votre projet contre les pics d'utilisation inattendus et les attaques par déni de portefeuille :
- Définissez des limites de débit par utilisateur (la valeur par défaut est de 100 requêtes par minute) pour empêcher les instances client individuelles de consommer un quota excessif.
- Examinez et gérez les quotas de projet dans la console Google Cloud pour chaque API sous-jacente.
Évitez les mauvaises surprises sur votre facture grâce aux alertes et aux limites de dépenses
Si votre projet Firebase est associé au forfait Blaze avec paiement à l'usage :
Configurez des alertes de budget et des limites de dépenses.
Étapes suivantes
- Consultez la checklist de sécurité Firebase générale.
- Consultez la checklist de production générale pour Firebase AI Logic.
- En savoir plus sur la tarification et la gestion des coûts pour Firebase AI Logic