Utiliser des clés API avec l'API Geolocation

Les produits Google Maps Platform sont protégés contre les utilisations non autorisées en limitant les appels d'API aux personnes qui fournissent des identifiants d'authentification appropriés. Ces identifiants se présentent sous la forme d'une clé API, qui correspond à une chaîne alphanumérique unique qui associe votre compte de facturation Google à votre projet, ainsi qu'à l'API ou au SDK spécifique.

Ce guide explique comment créer, restreindre et utiliser votre clé API pour Google Maps Platform.

Avant de commencer

Avant de commencer à utiliser l'API Geolocation, vous devez disposer d'un projet avec un compte de facturation et le API Geolocation activée. Pour en savoir plus, consultez Configurer vos projets dans la console Cloud.

Créer des clés API

Une clé API est un identifiant unique qui permet d'authentifier les requêtes associées à votre projet à des fins d'utilisation et de facturation. Vous devez associer au moins une clé API à votre projet.

Pour créer une clé API :

Console

  1. Accédez à la page Google Maps Platform > Identifiants.

    Accéder à la page "Identifiants"

  2. Sur la page Identifiants, cliquez sur Créer des identifiants > Clé API.
    La boîte de dialogue Clé API créée affiche la clé API que vous venez de créer.
  3. Cliquez sur Fermer.
    La nouvelle clé API figure sur la page Identifiants sous Clés API.
    (N'oubliez pas de restreindre la clé API avant de l'utiliser en production.)

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Restreindre les clés API

Google vous recommande vivement de restreindre vos clés API en limitant leur utilisation aux seules API nécessaires à votre application. Restreindre les clés API vous aide à renforcer la sécurité de votre application en la protégeant contre les requêtes non justifiées. Pour en savoir plus, consultez les bonnes pratiques de sécurité pour les API.

Pour restreindre une clé API :

Console

  1. Accédez à la page Google Maps Platform > Identifiants.

    Accéder à la page "Identifiants"

  2. 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.
  3. Sous Restrictions relatives aux clés, définissez les restrictions suivantes :
    • Restrictions relatives aux applications :
      1. Pour accepter les requêtes depuis la liste d'adresses IP de serveur Web que vous fournissez, sélectionnez Adresses IP (serveurs Web, tâches Cron, etc.) à partir de la liste des Restrictions relatives aux applications. Spécifiez une ou plusieurs adresses IPv4 ou IPv6. ou sous-réseau au format CIDR. Les adresses IP doivent correspondre à l'adresse source Les serveurs Google Maps Platform observent. Si vous utilisez réseau traduction d'adresse (NAT), correspond généralement à l'adresse IP publique de votre machine.
    • Restrictions relatives aux API :
      1. Cliquez sur Restreindre la clé.
      2. Sélectionnez API Geolocation dans le menu déroulant Sélectionner des API. Si l'API Geolocation ne figure pas dans la liste, vous devez l'activer.
  4. Pour valider les modifications, cliquez sur Enregistrer.

Cloud SDK

Listez les clés existantes.

gcloud services api-keys list --project="PROJECT"

Supprimez les restrictions existantes sur la clé existante.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

Définissez de nouvelles restrictions pour la clé existante.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api-target="geolocation.googleapis.com"
    --allowed-ips="IP_ADDRESS"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Ajouter la clé API à votre requête

Vous devez inclure une clé API dans chaque requête de l'API Geolocation. Dans l'exemple suivant, remplacez YOUR_API_KEY par votre clé API.

https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY

HTTPS est requis pour les requêtes qui utilisent une clé API.