Utiliser des clés API

Ce guide explique comment créer des clés API et configurer des restrictions de clés API pour les applications GCP. Pour en savoir plus sur l'authentification auprès d'une API GCP, consultez la présentation de l'authentification. Pour obtenir plus d'informations sur la configuration de clés API pour Google Maps, consultez la documentation de Google Maps.

Une clé API est une simple chaîne chiffrée utilisable lors de l'appel de certaines API qui n'ont pas besoin d'accéder à des données utilisateur privées. Les clés API sont utiles pour les clients tels que les applications mobiles et de navigateur qui ne disposent pas d'un serveur backend. La clé API permet de suivre les requêtes API associées à votre projet pour le quota et la facturation.

Les clés API présentent des limitations importantes :

C'est pourquoi nous vous recommandons d'utiliser plutôt le flux d'authentification standard. Cependant, il existe des cas bien particuliers où les clés API sont plus appropriées. Par exemple, si vous développez une application mobile nécessitant l'utilisation de l'API Google Cloud Translation sans avoir besoin par ailleurs d'un serveur backend, les clés API constituent le moyen le plus simple de s'authentifier auprès de cette API. Dans la plupart des cas, nous vous recommandons de faire communiquer votre application avec un serveur backend qui gère l’authentification et l’appel sur les services Google Cloud Platform.

Créer une clé API

Pour créer une clé API, votre compte doit disposer du rôle primitif Collaborateur (roles/editor) sur le projet en cours. Pour plus d'informations, découvrez les rôles primitifs.

Pour créer une clé API :

  1. Accédez au panneau API et services → Identifiants de la console GCP.

  2. Sélectionnez Créer des identifiants, puis sélectionnez Clé API dans le menu déroulant.

  3. Cliquez sur le bouton Créer. La boîte de dialogue Clé API créée affiche la nouvelle clé.

Vous voudrez peut-être copier la clé et la conserver à un emplacement sécurisé. Si vous n'utilisez pas une clé de test que vous prévoyez de supprimer ultérieurement, ajoutez des restrictions d'application et de clé API.

Utiliser une clé API

Transmettez la clé API dans un appel d'API REST en tant que paramètre de requête au format suivant. Remplacez API_KEY par votre clé API.

key=API_KEY

Par exemple, afin de transmettre une clé API pour une requête API Cloud Natural Language pour documents.analyzeEntities :

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

Sécuriser une clé API

Lorsque vous utilisez des clés API dans vos applications, veillez à les sécuriser. L'exposition publique de vos identifiants peut compromettre votre compte, ce qui pourrait entraîner des frais inattendus. Pour contribuer à la sécurité de vos clés API, appliquez les bonnes pratiques suivantes :

  • N'intégrez pas les clés API directement dans le code. Les clés API intégrées dans le code peuvent être exposées au public par accident. Par exemple, vous pouvez oublier de supprimer les clés du code que vous partagez. Au lieu d'intégrer vos clés API dans vos applications, stockez-les dans des variables d'environnement ou dans des fichiers hors de l'arborescence source de l'application.

  • Ne stockez pas les clés API dans des fichiers dans l'arborescence source de votre application. Si vous stockez les clés API dans des fichiers, conservez ces fichiers en dehors de l'arborescence source de l'application pour vous assurer que les clés ne se retrouvent pas dans votre système de contrôle de code source. Cette pratique est particulièrement importante si vous utilisez un système de gestion de code source public tel que GitHub.

  • Configurez des restrictions d'application et de clé API. En ajoutant des restrictions, vous pouvez réduire l'impact d'une clé API compromise.

  • Supprimez les clés API inutiles pour réduire l'exposition aux attaques.

  • Regénérez vos clés API régulièrement. Vous pouvez regénérer les clés API à partir de la page "Identifiants" en cliquant sur Regénérer la clé pour chacune d'entre elles. Ensuite, mettez à jour vos applications afin qu'elles utilisent les clés nouvellement générées. Les anciennes clés continueront à fonctionner pendant 24 heures après la génération des clés de remplacement.

  • Vérifiez le code avant de le publier. Assurez-vous qu'il ne contient aucune clé API ou autre information privée avant de le rendre accessible au public.

Ajouter des restrictions aux clés API

Une clé API ne présente aucune restriction par défaut. Les clés sans restriction ne sont pas sécurisées, car elles peuvent être affichées publiquement, par exemple à partir d'un navigateur, ou accessibles sur un appareil hébergeant la clé.

Pour les applications de production, définissez des restrictions d'application et d'API.

Pour ajouter des restrictions de clé API :

  1. Accédez au panneau API et services → Identifiants de la console GCP.

  2. Sélectionnez le nom d'une clé API existante. La section des restrictions apparaît au bas de la page.

    Ajouter une clé API

Restrictions relatives aux applications

Les restrictions relatives aux applications spécifient les sites Web, adresses IP ou applications qui peuvent utiliser une clé API. Ajoutez des restrictions d'application en fonction du type d'application. Vous ne pouvez définir qu'un seul type de restriction par clé API.

  1. Sélectionnez l'onglet Application restrictions (Restrictions relatives aux applications) dans la section Key restrictions (Restrictions relatives aux clés).

  2. Choisissez le type de restriction en fonction des besoins de votre application. Pour ajouter plusieurs valeurs sur une restriction, saisissez la première valeur, puis appuyez sur la touche Entrée. Répétez l'opération pour ajouter des valeurs.

    • Sélectionnez None (Aucun) à des fins de test uniquement.

    • Sélectionnez HTTP referrers (Référents HTTP) pour les clients API qui s'exécutent sur un navigateur Web, afin que seules les pages spécifiées puissent appeler l'API. Ces types d'applications exposant publiquement leurs clés API, nous vous recommandons d'utiliser plutôt un compte de service. Consultez la section Ajouter des restrictions HTTP pour obtenir des exemples.

    • Sélectionnez IP addresses (Adresses IP) pour limiter l’accès aux clés API à certaines adresses IP.

    • Sélectionnez Android apps (Applications Android) pour les applications Android. Cette option nécessite l'ajout du nom du package et de l'empreinte du certificat de signature SHA-1.

    • Sélectionnez iOS apps (Applications iOS) pour les applications iOS. Cette option nécessite l'ajout d'au moins un identifiant de groupe iOS pour limiter les appels d'API à des groupes iOS spécifiques.

  3. Cliquez sur le bouton Enregistrer.

Ajouter des restrictions HTTP

Pour ajouter des restrictions HTTP :

  • Entrez au moins une restriction dans le champ de formulaire.

  • Si votre domaine est compatible avec HTTP et HTTPS, les deux restrictions doivent être ajoutées séparément.

  • Pour ajouter plusieurs valeurs, saisissez la première valeur, puis appuyez sur la touche Entrée. Répétez l'opération pour ajouter des valeurs.

    Restrictions de référent HTTP

  • Vous pouvez éventuellement utiliser des caractères génériques (*) pour le sous-domaine et/ou le chemin d'accès.

Le tableau suivant présente des exemples de scénarios et de restrictions, du plus restrictif au moins restrictif. Nous vous recommandons d'utiliser l'exemple le plus restrictif convenant à votre cas d'utilisation.

Scénario Restrictions
Autoriser une URL spécifique.

Ajoutez une seule restriction avec un chemin d'accès exact. Exemple :

  • https://www.example.com/path
  • http://www.example.com/path/path
Autoriser n'importe quelle URL dans un seul sous-domaine ou domaine nu.

Vous devez définir au moins deux restrictions pour autoriser l'ensemble d'un domaine.

  1. Définissez une restriction pour le domaine, sans la barre oblique finale. Exemple :
    • https://www.example.com
    • http://sub.example.com
    • http://example.com
  2. Définissez une deuxième restriction pour le domaine, qui inclut un caractère générique pour le chemin d'accès. Exemple :
    • https://www.example.com/*
    • http://sub.example.com/*
    • http://example.com/*
  3. Si votre domaine autorise HTTP et HTTPS, vous devez ajouter des restrictions supplémentaires séparément.
Autoriser toutes les URL de sous-domaine dans un seul domaine.

Vous devez définir au moins deux restrictions.

  1. Définissez une restriction pour le domaine, avec un caractère générique pour le sous-domaine et sans barre oblique finale. Exemple :
    • https://*.example.com
  2. Définissez une deuxième restriction pour le domaine, qui inclut un caractère générique pour le chemin d'accès, par exemple :
    • https://*.example.com/*
  3. Si votre domaine autorise HTTP et HTTPS, vous devez ajouter des restrictions supplémentaires séparément.

Restrictions relatives aux API

Les restrictions relatives aux API définissent les API qui peuvent être appelées à l'aide de la clé API. Toutes les clés API utilisées dans des applications de production doivent employer des restrictions d'API.

Pour définir des restrictions d'API :

  1. Sélectionnez l'onglet Restrictions relatives aux API dans la section Restrictions relatives aux clés.

  2. Sélectionnez un nom d'API dans la liste déroulante.

  3. Répétez l'étape précédente pour toutes les API que la clé API doit appeler.

  4. Cliquez sur le bouton Enregistrer.

Afficher les clés API existantes

Utilisez la console GCP pour afficher les clés API existantes. Après avoir accédé au panneau API et services > Identifiants de la console GCP, vous pouvez visualiser les clés API existantes sous l'en-tête Clés API.

Étape suivante

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…