Google vous recommande de suivre ces bonnes pratiques lors de l'administration et de l'exécution de votre application.
Sécuriser des clés API
Vous avez besoin d'une clé API pour utiliser nos services en ligne, et son utilisation permet à Google de mesurer votre utilisation. Nous vous recommandons de limiter vos clés API pour éviter toute utilisation non autorisée.
Types de restrictions de clé d'API
Il existe deux types de restrictions de clés API que vous pouvez utiliser en même temps.
Type de restriction | Limite l'utilisation des clés à |
---|---|
Restriction d'API | Une API particulière. |
Restriction des applications | Adresses IP, sites Web ou applications spécifiques |
Recommandations concernant les restrictions des clés API
Nous vous recommandons de commander des clés API distinctes pour les scénarios suivants.
Scénario | Recommandation |
---|---|
Vos serveurs de jeu backend appellent l'API Playable Locations pour récupérer les lieux de jeu. | Configurez une clé avec deux restrictions:
|
La version Android de votre application appelle le SDK Maps pour Unity afin de récupérer les données géographiques. | Configurez une clé avec une restriction d'application pour n'autoriser les appels qu'à partir de la version Android de votre application. |
La version iOS de votre application appelle l'API Maps SDK pour Unity afin de récupérer les données géographiques. | Configurez une clé avec une restriction d'application pour n'autoriser les appels qu'à partir de la version iOS de votre application. |
Pour en savoir plus, consultez les bonnes pratiques concernant les clés API.
Pour configurer des restrictions de clé API
- Accédez au panneau des identifiants dans Google Cloud Console.
- Sélectionnez la clé API pour laquelle vous souhaitez définir une restriction. La page des propriétés de la clé API s'affiche.
- Sous Restrictions relatives aux clés, sélectionnez l'onglet Restrictions relatives aux applications, puis l'un des quatre types de restrictions d'application.
Type de restriction Description Référents HTTP Avec cette méthode, vous acceptez les requêtes provenant de la liste des sites Web que vous fournissez. Adresses IP Acceptez les requêtes provenant de la liste d'adresses IP de serveurs Web que vous fournissez. Applications Android Ajoutez le nom du package et l'empreinte du certificat de signature SHA-1 pour limiter l'utilisation de votre application Android. Applications iOS Avec cette méthode, vous acceptez les requêtes provenant de l'application iOS avec l'identifiant de groupe que vous fournissez. - Sous Restrictions relatives aux clés, sélectionnez l'onglet Restrictions relatives aux API, puis sélectionnez l'API à laquelle vous souhaitez limiter votre clé API.
- Cliquez sur Enregistrer.
Mises à jour des clés API compatibles
Assurez-vous de disposer d'une infrastructure permettant de mettre à jour les clés API dans votre pile de diffusion. Ainsi, votre jeu peut récupérer si votre clé API est compromise et vous devez la renouveler à court terme.
Utilisez des clés distinctes pour chaque application. Vous pouvez ainsi facilement remplacer une clé sans affecter les autres applications.
Recommandations concernant la sécurité des serveurs de jeu
Lorsque le serveur de l'API Playable Locations subit une panne pour une raison quelconque, des problèmes surviennent lorsqu'il se reconnecte : lorsque plusieurs serveurs de jeu tentent de se reconnecter en même temps. Un tel pic de RPS peut mettre le serveur en mode DoS, ce qui aggrave la situation en bloquant le trafic entrant.
Pour atténuer cette situation, Google vous demande de mettre en œuvre un intervalle exponentiel entre les tentatives binaires sur votre serveur de jeu. Il s'agit d'une approche systématique permettant d'espacer vos tentatives de connexion. Plus précisément, vous devez mettre en œuvre un algorithme qui attend N secondes après une tentative de reconnexion ayant échoué avant de réessayer. Si la prochaine tentative échoue, votre algorithme double la période d'attente, puis tente à nouveau. Si la prochaine tentative échoue, votre algorithme double à nouveau le délai d'attente, puis recommence. Vous continuez à doubler le délai d'attente après chaque tentative, jusqu'à ce que votre dernière tentative aboutisse.
Gérer les codes d'état de retour HTTP
Vous devez implémenter un intervalle exponentiel binaire entre les codes de retour HTTP, mais pas tous.
- 400
- Il s'agit d'erreurs client qui ne parviennent généralement pas à se récupérer. Par conséquent, les tentatives infructueuses de production de ces codes d'erreur ne fonctionneront pas. Vous devez intercepter ces types d'erreurs lors des tests.
- 429
- Il s'agit d'une erreur de ressource épuisée qui se produit lorsque vous commencez à dépasser le quota de l'API. Pour connaître les limites de RPS de l'API de votre projet, consultez la page Quotas des API Google.
- 500
- Il s'agit des erreurs côté serveur. Elles sont les types d'erreurs pour lesquelles l'intervalle exponentiel entre les tentatives est le plus utile.