Conseils de sécurité pour Google Maps Platform

Pour les applications et les projets qui utilisent les API et les SDK Google Maps Platform, vous devez utiliser des clés API ou le protocole OAuth (s'il est pris en charge) afin d'éviter toute utilisation non autorisée ainsi que les frais associés. Si vous utilisez des clés API, restreignez-les lorsque vous les créez pour assurer une sécurité optimale. Ces bonnes pratiques vous indiquent comment les restreindre.

Parallèlement aux restrictions au niveau des applications et des clés API, respectez les pratiques de sécurité qui s'appliquent à des produits Google Maps Platform spécifiques. Par exemple, consultez la section consacrée à l'API Maps JavaScript dans Restrictions recommandées pour les applications et les API.

Si vos clés API sont déjà utilisées, passez en revue les recommandations dans la section Si vous restreignez ou regénérez une clé API en cours d'utilisation ci-dessous.

Pour en savoir plus sur les signatures numériques, consultez le Guide sur la signature numérique.

Bonnes pratiques

Pour renforcer la sécurité et éviter d'être facturé en cas d'utilisation non autorisée, suivez les bonnes pratiques de sécurité pour les API, les SDK et les services Google Maps Platform.

Restreindre vos clés API

Utiliser des clés API distinctes pour chaque application

Supprimer les clés API inutilisées

Contrôler l'utilisation de vos clés API

Faire preuve de prudence lorsque vous regénérez des clés API

Recommandations supplémentaires pour les sites Web utilisant des API Static Web

Protéger les applications utilisant des API Static Web

Recommandations supplémentaires pour les applications utilisant des services Web

Protéger les applications utilisant des services Web

Recommandations supplémentaires pour les applications mobiles iOS et Android

Protéger les applications mobiles utilisant des API de services Web ou des API Static Web

Si vous restreignez ou regénérez une clé API en cours d'utilisation

  • Avant de modifier la clé API, contrôlez l'utilisation de vos clés API. Cette étape est particulièrement importante si vous ajoutez des restrictions après la mise en service de la clé.

  • Après avoir modifié la clé, mettez à jour toutes vos applications avec les nouvelles clés API, si nécessaire.

  • Si votre clé API ne fait actuellement l'objet d'aucune utilisation abusive, vous pouvez migrer vos applications vers plusieurs nouvelles clés API à votre propre rythme. Ne touchez pas à la clé API d'origine jusqu'à ce que vous ne voyiez plus qu'un seul type de trafic ; vous pouvez alors restreindre les clés API à l'aide d'une restriction d'application. Pour en savoir plus, consultez Migrer vers plusieurs clés API.

    Surveillez l'évolution de l'utilisation et attendez que les API, les types de plates-formes et les domaines aient migré de l'ancienne clé API avant de décider de la restreindre ou de la supprimer. Pour en savoir plus, consultez Reporting et surveillance et Métriques.

  • Si votre clé API a été compromise, vous devez agir plus rapidement afin de la sécuriser et de mettre fin aux utilisations abusives. Dans les applications Android et iOS, les clés ne sont pas remplacées tant que les clients n'ont pas mis à jour leurs applications. L'opération est beaucoup plus simple dans des applications JavaScript ou des services Web. Toutefois, elle doit tout de même être soigneusement planifiée, puis réalisée rapidement.

    Pour en savoir plus, consultez Gérer les utilisations non autorisées d'une clé API.

Restreindre vos clés API

La meilleure façon de procéder consiste à toujours restreindre vos clés API à l'aide d'une restriction d'application et d'une ou plusieurs restrictions d'API. Pour obtenir des recommandations de restrictions par API, SDK ou service JavaScript, consultez Restrictions recommandées pour les applications et les API ci-dessous.

  • Restriction d'application Vous pouvez limiter l'utilisation d'une clé API à des plates-formes spécifiques : applications Android ou iOS, sites Web spécifiques pour les applications côté client et adresses IP ou sous-réseaux CIDR spécifiques pour les applications côté serveur émettant des appels d'API REST de services Web.

    Pour restreindre une clé, ajoutez une ou plusieurs restrictions d'application sur les types que vous souhaitez autoriser. Seules les demandes provenant de ces sources seront alors autorisées.

  • Restrictions d'API Vous pouvez restreindre les API, SDK ou services de Google Maps Platform avec lesquels votre clé API peut être utilisée. Les restrictions d'API autorisent uniquement les requêtes vers les API et SDK que vous indiquez. Vous pouvez associer à chaque clé API autant de restrictions d'API que nécessaire. La liste des API disponibles inclut toutes les API activées au niveau d'un projet.

Définir une restriction d'application pour une clé API

  1. Ouvrez la page Identifiants Google Maps Platform de la console Google Cloud.

  2. Sélectionnez la clé API que vous souhaitez restreindre.

  3. Sur la page Modifier la clé API, sous Restrictions relatives aux clés, sélectionnez Définir une restriction d'application.

    Page "Modifier la clé API"

  4. Sélectionnez l'un des types de restriction et fournissez les informations demandées suivant la liste des restrictions.

    Type de restriction Description
    Sites Web Spécifiez un ou plusieurs sites Web de provenance.
    • Les schémas d'URI de provenance universellement pris en charge sont https et http.
    • Veillez à toujours fournir le schéma d'URI de provenance complet, y compris le schéma de protocole, le nom d'hôte et le port facultatif (par exemple, https://google.com).
    • Vous pouvez utiliser des caractères génériques pour autoriser tous les sous-domaines. Par exemple, https://*.google.com accepte tous les sites se terminant par .google.com. Si vous indiquez "www.domain.com", le système considère que l'URL se termine par un caractère générique (www.domain.com/*) et autorise alors les sous-chemins d'accès associés à ce nom d'hôte.
    • Soyez prudent lorsque vous autorisez des URL de provenance complètes (par exemple https://google.com/some/path), car la plupart des navigateurs actuels suppriment par défaut le chemin d'accès dans les requêtes multi-origines.
    Adresses IP À l'aide de la notation CIDR, indiquez une ou plusieurs adresses IPv4 ou IPv6, ou encore des sous-réseaux. Les adresses IP doivent correspondre à l'adresse source relevée par les serveurs de Google Maps Platform. Si vous utilisez la traduction d'adresse réseau (NAT), cette adresse correspond généralement à l'adresse IP publique de votre machine.
    Applications Android Ajoutez le nom du package Android (à partir du fichier AndroidManifest.xml) et l'empreinte du certificat de signature SHA-1 de chaque application Android que vous souhaitez autoriser. Si vous utilisez la signature d'application Play, consultez Collaborer avec des fournisseurs d'API pour récupérer l'empreinte du certificat de signature. Si vous gérez votre propre clé de signature, consultez Autosigner votre application ou reportez-vous aux instructions relatives à votre environnement de compilation.
    Applications iOS Ajoutez l'identifiant du bundle de chaque application iOS que vous souhaitez autoriser.

    Pour obtenir des recommandations sur la restriction d'une application, consultez Restriction d'application recommandée.

  5. Sélectionnez Enregistrer.

Définir des restrictions d'API pour une clé API

  1. Ouvrez la page Identifiants Google Maps Platform de la console Google Cloud.

  2. Sélectionnez la clé API que vous souhaitez restreindre.

  3. Sur la page Modifier la clé API, sous Restrictions d'API :

    • Sélectionnez Restreindre la clé.

    • Ouvrez Sélectionner des API, puis choisissez les API et les SDK auxquels vous souhaitez que votre application accède à l'aide de la clé API.

      Si une API ou un SDK ne figure pas dans la liste, vous devez l'activer. Pour en savoir plus, consultez Activer un ou plusieurs SDK ou API.

    Restreindre une API sur la page "Modifier la clé API"

  4. Sélectionnez Enregistrer.

    La restriction est alors intégrée à la définition de la clé API. Assurez-vous de fournir les informations appropriées et sélectionnez Enregistrer pour enregistrer vos restrictions de clés API. Pour en savoir plus, consultez le guide Obtenir une clé API dans la documentation de l'API ou du SDK qui vous intéresse.

Pour obtenir des recommandations sur les restrictions d'API, consultez Restrictions recommandées pour les API.

Contrôler l'utilisation de vos clés API

Si vous restreignez des clés API après les avoir créées, ou si vous voulez voir quelles API sont utilisées par une clé afin de les restreindre, vous devez vérifier l'utilisation de vos clés API. Ces étapes vous indiquent les services et les méthodes API dans lesquels une clé API est utilisée. Si vous constatez une utilisation autre que celle des services de Google Maps Platform, vérifiez si vous devez ajouter des restrictions pour empêcher toute utilisation indésirable. Vous pouvez utiliser l'Explorateur de métriques dans la console Cloud de Google Maps Platform pour vous aider à déterminer les restrictions d'API et d'application à appliquer à votre clé API :

Déterminer les API qui utilisent votre clé API

Les rapports de métriques suivants vous permettent d'identifier les API qui utilisent vos clés API. Utilisez ces rapports pour :

  • observer comment vos clés API sont utilisées ;
  • repérer toute utilisation inattendue ;
  • vérifier si une clé inutilisée peut être supprimée en toute sécurité. Pour en savoir plus sur la suppression d'une clé API, consultez Supprimer les clés API inutilisées.

Lorsque vous appliquez des restrictions d'API, utilisez ces rapports pour créer une liste d'API à autoriser ou pour valider les recommandations de restrictions de clés API générées automatiquement. Pour en savoir plus sur les restrictions recommandées, consultez Appliquer les restrictions recommandées. Pour en savoir plus sur l'utilisation de l'Explorateur de métriques, consultez Créer des graphiques avec l'Explorateur de métriques.

  1. Accédez à l'Explorateur de métriques de la console Google Cloud.

  2. Connectez-vous et sélectionnez le projet pour lequel vous souhaitez vérifier des clés API.

  3. Accédez à la page "Explorateur de métriques" en fonction de votre type d'API :

  4. Inspectez chaque clé API :

    1. Sélectionnez AJOUTER UN FILTRE.

    2. Sélectionnez le libellé credential_id.

    3. Sélectionnez la valeur correspondant à la clé que vous souhaitez inspecter.

    4. Notez les API pour lesquelles cette clé API est utilisée et confirmez que cette utilisation est conforme à ce qui est prévu.

    5. Une fois cette étape effectuée, sélectionnez Supprimer le filtre à la fin de la ligne du filtre actif pour supprimer le filtre supplémentaire.

  5. Répétez l'opération pour toutes les clés restantes.

  6. Restreignez vos clés API uniquement aux API utilisées.

  7. Si vous constatez une utilisation non autorisée, consultez Gérer les utilisations non autorisées d'une clé API.

Choisir le type de restriction d'application approprié à l'aide de l'Explorateur de métriques

Après avoir vérifié et pris toutes les mesures nécessaires pour vous assurer que votre clé API n'est utilisée que pour les services de Google Maps Platform qu'elle utilise, assurez-vous également que la clé API est assortie des restrictions d'application correctes.

Si votre clé API comporte des recommandations de restriction, appliquez-les. Pour en savoir plus, consultez Appliquer les restrictions de clés API recommandées.

Si votre clé API ne comporte pas de recommandations de restriction, déterminez le type de restriction d'application à appliquer en fonction de la platform_type à l'aide de l'Explorateur de métriques :

  1. Accédez à l'Explorateur de métriques de la console Google Cloud.

  2. Connectez-vous et sélectionnez le projet pour lequel vous souhaitez vérifier des API.

  3. Accédez à cette page de l'Explorateur de métriques : Explorateur de métriques.

  4. Inspectez chaque clé API :

    1. Sélectionnez AJOUTER UN FILTRE.

    2. Sélectionnez le libellé credential_id.

    3. Sélectionnez la valeur correspondant à la clé que vous souhaitez inspecter.

    4. Une fois cette étape effectuée, sélectionnez Supprimer le filtre à la fin de la ligne du filtre actif pour supprimer le filtre supplémentaire.

  5. Répétez l'opération pour toutes les clés restantes.

  6. Une fois que vous avez déterminé le type de plate-forme pour vos clés API, appliquez la restriction d'application pour ce platform_type :

    PLATFORM_TYPE_JS
    Appliquez des restrictions liées aux sites Web à la clé.
    PLATFORM_TYPE_ANDROID
    Appliquez des restrictions liées aux applications Android à la clé.
    PLATFORM_TYPE_IOS
    Appliquez des restrictions liées aux applications iOS à la clé.
    PLATFORM_TYPE_WEBSERVICE
    Afin de restreindre correctement la clé, vous devrez peut-être recourir à des restrictions d'adresse IP. Pour avoir accès à davantage d'options relatives aux API Maps Static et Street View Static, consultez Protéger les applications utilisant des API Static Web. Pour en savoir plus sur l'API Maps Embed, consultez Sites Web utilisant l'API Maps Embed.
    Ma clé API utilise plusieurs types de plate-formes
    Votre trafic ne peut pas être correctement sécurisé avec une seule clé API. Vous devez migrer vers plusieurs clés API. Pour en savoir plus, consultez Migrer vers plusieurs clés API.

Utiliser des clés API distinctes pour chaque application

Cette méthode limite le champ d'application de chaque clé. Si la sécurité d'une clé API est compromise, vous pouvez la supprimer et la générer à nouveau sans modifier vos autres clés API. Vous pouvez créer jusqu'à 300 clés API par projet. Pour en savoir plus, consultez Limites des clés API.

Si l'idéal est d'avoir une clé API par application pour des raisons de sécurité, vous pouvez utiliser des clés restreintes pour plusieurs applications, à condition qu'elles utilisent le même type de restriction d'application.

Appliquer les restrictions recommandées pour les clés API

Pour certains propriétaires et éditeurs de projets, la console Google Cloud propose des restrictions de clés API spécifiques aux clés API non restreintes, en fonction de leur utilisation et de leur activité sur Google Maps Platform.

Si des recommandations sont disponibles, elles apparaissent sous forme d'options préremplies sur la page Identifiants Google Maps Platform.

Raisons pour lesquelles vous ne verrez peut-être pas de recommandation ou seulement une recommandation incomplète

  • Vous utilisez (également) la clé API pour d'autres services que ceux de Google Maps Platform. Si vous constatez une utilisation sur d'autres services, n'appliquez pas la recommandation sans avoir au préalable :

    1. vérifié que l'utilisation de l'API que vous voyez dans l'Explorateur de métriques de la console Google Cloud est légitime ;

    2. ajouté manuellement les services manquants à la liste des API à autoriser ;

    3. ajouté manuellement les restrictions d'application manquantes pour les services ajoutés à la liste des API. Si vos autres ajouts nécessitent un autre type de restrictions d'application, consultez Migrer vers plusieurs clés API.

  • Votre clé API n'est pas utilisée dans les SDK ou API côté client.

  • Vous utilisez la clé API dans une application ou un site Web à faible volume qui n'a pas été utilisé au cours des 60 derniers jours.

  • Vous avez créé une clé très récemment, ou vous avez déployé très récemment une clé existante dans une nouvelle application. Dans ce cas, attendez quelques jours afin que les recommandations soient actualisées.

  • Vous utilisez la clé API dans plusieurs applications qui nécessiteraient des types de restrictions d'application différents, ou vous utilisez la même clé API dans un trop grand nombre d'applications ou de sites Web. Dans les deux cas, nous vous recommandons de migrer vers des clés multiples. Pour en savoir plus, consultez Migrer vers plusieurs clés API.

Raisons pour lesquelles vous pourriez voir des recommandations qui ne sont pas visibles dans les graphiques

  • Votre application ou site Web n'a enregistré que de très courtes périodes de trafic intensif. Dans ce cas, passez de l'affichage CHART (graphique) pour afficher un TABLE (tableau) ou BOTH (les deux). L'utilisation reste visible en légende. Pour en savoir plus, consultez Activer l'affichage complet des légendes du graphique.

  • Votre trafic provient de l'API Maps Embed. Pour savoir comment procéder, consultez Déterminer les API qui utilisent votre clé API.

  • Le trafic de l'application ou du site Web ne correspond pas à la période disponible dans l'Explorateur de métriques de la console Google Cloud.

  1. Ouvrez la page Identifiants Google Maps Platform de la console Google Cloud.

  2. Sélectionnez Appliquer les restrictions recommandées (si disponible).

    Appliquer les restrictions recommandées

    Remarque : Si vous ne voyez pas de restrictions recommandées, consultez Définir des restrictions d'API pour une clé API pour définir des restrictions appropriées.

  3. Sélectionnez Vérifier l'utilisation des API pour vérifier les services pour lesquels la clé API est utilisée. Si vous voyez des services autres que ceux de Google Maps Platform, prenez le temps de passer en revue manuellement les étapes de recommandation ci-dessus. Consultez les étapes de dépannage au début de la section Appliquer les restrictions recommandées pour les clés API.

  4. Vérifiez que les restrictions préremplies correspondent aux sites Web et aux applications pour lesquels vous prévoyez d'utiliser votre clé API.

    Bonne pratique : Documentez et supprimez toute restriction d'application ou d'API qui ne serait pas liée à vos services. Si quelque chose ne fonctionne pas en raison d'une dépendance inattendue, vous pouvez ajouter les applications ou les API nécessaires.

    • Si vous constatez qu'une application, un site Web ou une API ne figure pas dans votre recommandation, vous pouvez l'ajouter manuellement ou attendre quelques jours pour que la recommandation soit actualisée.

    • Si vous avez besoin d'une aide supplémentaire avec votre recommandation suggérée, contactez l'assistance.

  5. Sélectionnez Appliquer.

Que faire si votre application est rejetée après avoir appliqué une recommandation ?

Si vous remarquez qu'une application ou un site Web est rejeté après avoir appliqué une restriction, recherchez la restriction d'application que vous devez ajouter dans le message d'erreur de la réponse de l'API.

Pour les SDK côté client, consultez les informations ci-dessous :

Pour vérifier les restrictions d'API requises, consultez Déterminer les API qui utilisent votre clé API.

Si vous ne parvenez pas à déterminer quelles restrictions appliquer :

  1. Documentez les restrictions actuelles pour pouvoir vous y référer ultérieurement.
  2. Supprimez-les le temps de résoudre le problème. Vous pouvez vérifier l'évolution de votre utilisation dans le temps en suivant les étapes de Contrôler l'utilisation de vos clés API.
  3. Au besoin, contactez l'assistance.

Supprimer les clés API inutilisées

Avant de supprimer une clé API, assurez-vous qu'elle n'est pas utilisée en production. Si elle n'enregistre aucun trafic, vous pouvez probablement la supprimer sans risque. Pour en savoir plus, contrôlez l'utilisation de vos clés API.

Pour supprimer une clé API :

  1. Ouvrez la page Identifiants Google Maps Platform de la console Google Cloud.

  2. Sélectionnez la clé API à supprimer.

  3. Cliquez sur le bouton Supprimer en haut de la page.

  4. Sur la page Supprimer l'identifiant, sélectionnez Supprimer.

    Propager la suppression d'une clé API prend quelques minutes. Une fois la propagation terminée, tout trafic utilisant la clé API supprimée est rejeté.

Soyez prudent lorsque vous regénérez vos clés API

Lorsque vous générez à nouveau une clé API, une clé comportant toutes les restrictions liées à l'ancienne est créée. Cette opération déclenche également un délai de 24 heures au terme duquel l'ancienne clé API est supprimée.

Pendant ce délai, l'ancienne clé et la nouvelle sont acceptées, ce qui vous permet de migrer vos applications afin qu'elles utilisent la nouvelle clé. En revanche, toutes les applications qui utilisent encore l'ancienne clé API cesseront de fonctionner à la fin de cette période.

Avant de regénérer une clé API :

  • Essayez d'abord de restreindre vos clés API comme décrit dans Restreindre vos clés API.

  • S'il n'est pas possible de restreindre votre clé API en raison de types de restrictions d'application contradictoires, migrez vers plusieurs nouvelles clés (restreintes) comme décrit dans Migrer vers plusieurs clés API. La migration vous permet de contrôler le calendrier de migration et de déploiement des nouvelles clés API.

Si les suggestions précédentes ne sont pas applicables et que vous devez régénérer votre clé API pour éviter toute utilisation non autorisée, procédez comme suit :

  1. Ouvrez la page Identifiants Google Maps Platform de la console Google Cloud.

  2. Ouvrez la clé API que vous souhaitez regénérer.

  3. En haut de la page, sélectionnez Regénérer la clé.

  4. Sélectionnez Remplacer la clé.

Remarque : Si nécessaire, vous pouvez effectuer le rollback d'une clé qui a été régénérée vers sa version antérieure. Ces rollbacks ne sont pas limités dans le temps.

Effectuer le rollback d'une clé regénérée

  1. Ouvrez la page Identifiants Google Maps Platform de la console Google Cloud.

  2. Ouvrez la clé API pour laquelle vous souhaitez effectuer un rollback.

  3. Sélectionnez Rétablir la clé précédente.

  4. Dans la boîte de dialogue Rétablir, sélectionnez Rétablir la clé.

Après un rollback, l'ancienne "nouvelle" version de la clé devient la version précédente et est désactivée dans un délai de 24 heures. Vous pouvez revenir à l'une de ces deux valeurs de clé jusqu'à ce que vous génériez à nouveau la clé.

Si vous regénérez la clé, elle écrasera l'ancienne valeur de la clé inactive.

Migrer vers plusieurs clés API

Pour passer d'une même clé API pour plusieurs applications à une clé API pour chaque application :

  1. Identifier les applications qui nécessitent de nouvelles clés :

    • Les applications Web sont les plus faciles à mettre à jour, car vous contrôlez l'intégralité du code. Prévoyez de mettre à jour toutes les clés de vos applications Web.
    • Les applications mobiles sont bien plus complexes, car vos clients doivent mettre à jour leurs applications afin que les nouvelles clés puissent être utilisées.
  2. Créer et restreindre les nouvelles clés : Ajoutez une restriction d'application et au moins une restriction d'API. Pour en savoir plus, consultez les Bonnes pratiques.

  3. Ajouter les nouvelles clés à vos applications : Pour les applications mobiles, ce processus peut prendre des mois, le temps que tous les utilisateurs mettent à jour leur application avec la nouvelle clé API.

Protéger les applications utilisant des API Static Web

Les API Static Web, telles que les API Maps Static et Street View Static, sont similaires aux appels d'API de services Web.

Les deux sont appelés à l'aide d'une simple API REST HTTPS, et l'URL de requête API est généralement générée sur le serveur. Cependant, au lieu de renvoyer une réponse JSON, les API Static Web génèrent une image que vous pouvez intégrer dans le code HTML généré. En outre, c'est généralement le client de l'utilisateur final, et non le serveur, qui appelle le service Google Maps Platform.

Utiliser une signature numérique

Les bonnes pratiques recommandent de toujours utiliser des signatures numériques en complément d'une clé API. Vérifiez également le nombre de requêtes non signées que vous souhaitez autoriser par jour et ajustez vos quotas de requêtes non signées en conséquence.

Pour en savoir plus sur les signatures numériques, consultez le Guide sur la signature numérique.

Protéger votre signature secrète

Pour protéger les API Static Web, n'intégrez pas vos signatures secrètes d'API directement dans le code ou dans l'arborescence source, et ne les divulguez pas dans les applications côté client. Respectez ces bonnes pratiques pour protéger vos signatures secrètes :

  • Signez vos requêtes côté serveur, et non côté client. Si vous signez côté client en JavaScript, vous risquez de les divulguer à toute personne visitant votre site. Par conséquent, pour les images générées dynamiquement, générez toujours vos URL de requête API Maps Static et Street View Static Pour le contenu Web statique, vous pouvez utiliser le widget Signer une URL maintenant sur la page Identifiants de la console Cloud Google Maps Platform.

  • Enregistrez vos signatures secrètes en dehors du code source et de l'arborescence source de votre application. Si vous stockez vos signatures secrètes ou toute autre information privée dans des variables d'environnement ou si vous ajoutez des fichiers stockés séparément et que vous partagez ensuite votre code, les signatures secrètes ne seront pas incluses dans les fichiers partagés. Si vous stockez des signatures secrètes ou toute autre information privée dans des fichiers, conservez ceux-ci en dehors de l'arborescence source de votre application afin d'éviter que vos signatures secrètes ne se retrouvent dans le système de contrôle de votre code source. Cette précaution est d'autant plus importante si vous utilisez un système de gestion de code source public tel que GitHub.

Protéger votre clé API dans les applications utilisant des services Web

Enregistrez vos clés API en dehors du code source ou de l'arborescence source de votre application. Si vous placez vos clés API ou toute autre information dans des variables d'environnement, ou si vous ajoutez des fichiers stockés séparément avant de partager votre code, les clés API ne seront pas incluses dans les fichiers partagés. C'est particulièrement important si vous utilisez un système de gestion de code source public tel que GitHub.

Protéger votre clé API et votre signature secrète dans les applications mobiles utilisant des services Web ou des API Static Web

Pour protéger vos applications mobiles, utilisez un keystore ou un serveur proxy sécurisés :

  • Stocker la clé API ou la signature secrète dans un keystore sécurisé. Cette étape rend plus difficile l'extraction de clés API et d'autres données privées directement depuis l'application.

  • Utilisez un serveur proxy sécurisé. Le serveur proxy fournit une source fiable d'interaction avec l'API Google Maps Platform appropriée. Pour en savoir plus sur l'utilisation d'un serveur proxy, consultez Vivre par procuration : utiliser des serveurs proxy avec les bibliothèques clientes des Google Data APIs.

    • Construisez vos requêtes Google Maps Platform sur le serveur proxy. N'autorisez pas vos clients à relayer des appels d'API arbitraires par l'intermédiaire du proxy.

    • Post-traitez les réponses de Google Maps Platform sur votre serveur proxy. Filtrez les données dont le client n'a pas besoin.

Utiliser App Check pour sécuriser votre clé API

Certains SDK et API Maps vous permettent d'intégrer Firebase App Check. App Check protège les appels de votre application vers Google Maps Platform en bloquant le trafic provenant d'autres sources que les applications légitimes. Pour ce faire, elle vérifie la présence d'un jeton auprès d'un fournisseur d'attestation. Intégrer vos applications à App Check permet de vous protéger contre les requêtes malveillantes, ce qui vous évite d'être facturé pour les appels d'API non autorisés.

Instructions d'intégration d'App Check:

Gérer les utilisations non autorisées d'une clé API

Si vous détectez une utilisation non autorisée de votre clé API, procédez comme suit pour résoudre le problème :

  1. Restreignez vos clés : Si vous avez utilisé la même clé dans plusieurs applications, migrez vers plusieurs clés API et utilisez des clés API distinctes pour chaque application. Pour en savoir plus, consultez :

  2. Ne regénérez des clés que si vous n'êtes pas en mesure de les restreindre. Lisez la section Faire preuve de prudence lorsque vous regénérez des clés API avant de continuer.

  3. Si vous rencontrez encore des problèmes ou si vous avez besoin d'aide, contactez l'assistance.

Restrictions recommandées pour les applications et les API

Les sections suivantes proposent des restrictions d'application et d'API appropriées pour chaque API, SDK ou service de Google Maps Platform.

Restrictions recommandées pour les API

Les règles suivantes relatives aux restrictions d'API s'appliquent à l'ensemble de Google Maps Platform :

  • Restreignez votre clé API uniquement aux API pour lesquelles vous l'utilisez, à l'exception des cas suivants :

    • Si votre application utilise le SDK Places pour Android ou iOS, autorisez l'API Places.

    • Si votre application utilise l'API Maps JavaScript, autorisez-la toujours sur votre clé.

    • Si vous utilisez également l'un des services de l'API Maps JavaScript suivants, vous devez également autoriser les API suivantes :

    Service Restriction d'API
    Service Directions, API Maps JavaScript API Directions
    Service Distance Matrix, API Maps JavaScript API Distance Matrix
    Service Elevation, API Maps JavaScript API Elevation
    Service Geocoding, API Maps JavaScript API Geocoding
    Bibliothèque Places, API Maps JavaScript API Places

Exemples :

  • Vous utilisez le SDK Maps pour Android et le SDK Places pour Android, vous incluez donc le SDK Maps pour Android et l'API Places en tant que restrictions d'API.

  • Votre site Web utilise le service Elevation de l'API Maps JavaScript et l'API Maps Static. Vous devez donc ajouter des restrictions pour toutes les API suivantes :

    • API Maps JavaScript
    • API Elevation
    • API Maps Static

Restrictions recommandées pour les applications

Sites Web comportant l'API Maps JavaScript ou l'API Static Web

Pour les sites Web utilisant des services Maps JavaScript ou des API Static Web, utilisez la restriction d'application Websites.

À utiliser pour les sites Web utilisant les services et API JavaScript suivants :

1 Pour les applications mobiles, vous pouvez utiliser les SDK Maps pour Android et SDK Maps pour iOS natifs.

2 Consultez égalementProtéger les applications mobiles utilisant des API de services Web ou des API Static Web.

Sites Web comportant l'API Maps Embed

Si l'utilisation de l'API Maps Embed est proposée sans frais, il convient néanmoins de restreindre toute clé API utilisée afin d'éviter les abus sur d'autres services.

Bonne pratique : Créez une clé API distincte pour l'utilisation de l'API Maps Embed et limitez cette clé uniquement à l'API Maps Embed. Cette restriction garantit la sécurité de la clé et empêche son utilisation non autorisée sur tout autre service Google.

Si vous ne pouvez pas associer l'utilisation de l'API Maps Embed à une clé API distincte, sécurisez votre clé à l'aide de la restriction d'application Websites.

Applications et serveurs utilisant des services Web

Pour les applications et serveurs comportant des services Web, utilisez la restriction d'application IP addresses.

À utiliser pour les applications et serveurs utilisant les API suivants :

3 Pour les applications mobiles, vous pouvez utiliser les SDK Places pour Android et les SDK Places pour iOS natifs.

Applications Android

Pour les applications Android, utilisez la restriction d'application Android apps. À utiliser pour les applications et serveurs utilisant les SDK suivants :

Vous pouvez aussi éviter de vérifier accidentellement les clés API dans le contrôle des versions. Pour ce faire, utilisez le plug-in Secrets Gradle afin d'injecter des secrets à partir d'un fichier local au lieu de les stocker dans le fichier manifeste Android.

Applications iOS

Pour les applications iOS, utilisez la restriction d'application iOS apps. À utiliser pour les applications et serveurs utilisant les SDK suivants :