Limiter l'utilisation des API

En fonction de l'API, vous pouvez explicitement limiter les requêtes en limitant le nombre de requêtes par jour, le nombre de requêtes par minute ou le nombre requêtes par minute et par utilisateur.

Il s'agit de limites d'utilisation spécifiques aux API. Par exemple, pour éviter de vous faire facturer une utilisation au-delà des limites d'utilisation sans frais, vous pouvez définir un nombre maximal de requêtes par jour.

Ces limites sont destinées à contrôler précisément les volumes de services spécifiques et ne sont pas conçues pour servir de plafond de dépenses à l'échelle du projet. Si vous souhaitez éviter des coûts inattendus pour l'ensemble de votre projet ou de votre compte de facturation, consultez Créer, modifier ou supprimer des budgets et des alertes de budget.

Afficher et modifier les limites du nombre de requêtes

Vous pouvez définir des limites pour toutes les requêtes adressées à n'importe quelle API facturable. La plupart des API définissent des limites par défaut, mais vous pouvez modifier ces limites jusqu'à un maximum spécifié par Google. Certaines API définissent une limite basse jusqu'à ce que vous activiez la facturation sur votre projet.

Pour afficher ou modifier les limites de votre API, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Tableau de bord des API et services.

    Accéder au tableau de bord des API et services

  2. Dans la liste des projets, sélectionnez un projet ou créez-en un.
  3. Cliquez sur le nom de l'API qui vous intéresse.
  4. Cliquez sur Quotas. Si l'onglet Quotas n'est pas présent dans le menu de navigation par onglets, cela signifie que l'API que vous avez sélectionnée n'a pas de quotas définis.
  5. Pour trouver le quota que vous souhaitez limiter, saisissez les propriétés et les valeurs appropriées dans le champ Filtre. Par exemple, pour trouver le quota des Sous-réseaux, saisissez Quota:Subnetworks.
  6. Cochez la case à côté du quota que vous souhaitez limiter, puis cliquez sur MODIFIER LES QUOTAS.
  7. Remplissez le formulaire de modification de quota, y compris la nouvelle limite que vous souhaitez définir.
  8. Cliquez sur ENVOYER LA REQUÊTE.

Certaines API vous permettent de demander une limite plus élevée en soumettant un formulaire. Certaines API vous permettent de spécifier un quota plus élevé uniquement si la facturation est activée sur le projet.

Les sections de quota du forfait Premium concernent le forfait Premium Google Maps, qui n'est plus proposé. Si vous n'avez pas souscrit le forfait Premium Google Maps, ne modifiez pas ces sections.

Limiter les requêtes par utilisateur

Pour empêcher des utilisateurs individuels d'utiliser votre quota d'API, certaines API incluent une limite par défaut, par utilisateur et par minute.

Pour vérifier si votre API inclut une limite par défaut par utilisateur et par minute, recherchez-la dans vos quotas d'API, comme décrit dans les instructions de la section Afficher et modifier les limites du nombre de requêtes. Si une limite par défaut de ce type est présente pour cette API, vous pouvez modifier cette valeur pour limiter le quota disponible pour chaque utilisateur en suivant les étapes de ces instructions. Si votre API n'inclut pas cette limite par défaut dans ses quotas, l'ajout ou la modification de celle-ci n'est pas possible.

Par défaut, le système utilise le compte principal authentifié pour identifier de manière unique les utilisateurs individuels. Le compte principal authentifié inclut les comptes utilisateur utilisant des jetons OAuth, les comptes de service ou les identités de charge de travail fédérées. En l'absence de compte principal authentifié, le système utilise l'adresse IP client. Comme ce comportement de secours est actif par défaut, les quotas par utilisateur sont appliqués même si vous ne spécifiez pas d'identifiant utilisateur.

L'utilisation de l'adresse IP du client comme solution de secours présente deux limites principales :

  • Adresses IP publiques partagées : plusieurs utilisateurs derrière une passerelle ou un proxy de traduction d'adresse réseau (NAT), comme un bureau scolaire ou un point de terminaison VPN, partageront une seule adresse IP publique. Leurs requêtes seront regroupées dans le même bucket de quota, ce qui peut entraîner un épuisement prématuré du quota.
  • Évasion basée sur l'adresse IP : les utilisateurs ayant accès à de grands blocs d'adresses IPv6 ou à des proxys VPN peuvent faire tourner les adresses IP des clients pour contourner la limitation du débit, ce qui rend le retour à l'adresse IP peu fiable pour une protection robuste contre les utilisations abusives.

Si vous appelez l'API à partir d'une application côté serveur, où le code d'appel est hébergé sur un serveur que vous possédez, pour le compte de plusieurs utilisateurs, et que vous utilisez un seul principal authentifié, tous les appels seront attribués à ce principal. Dans ce cas, les appels des utilisateurs individuels ne peuvent pas être limités séparément. Pour éviter cela, vous pouvez remplacer l'identification par défaut des utilisateurs et partitionner l'utilisation du quota en spécifiant le paramètre quotaUser ou l'en-tête X-Goog-Quota-User dans vos requêtes. Ces éléments sont définis dans la documentation sur les paramètres système.

Pour remplacer l'identification par défaut de l'utilisateur avec le paramètre quotaUser ou l'en-tête X-Goog-Quota-User, vous devez identifier le projet de quota à l'aide d'une clé API valide comportant des restrictions de service, telles que des restrictions d'adresse IP ou de référant HTTP. Sinon, le paramètre ou l'en-tête sont ignorés et le système revient à l'identification par défaut de l'utilisateur.

Pour identifier un utilisateur, utilisez le paramètre de requête d'URL quotaUser=userID. Cette valeur est réservée à l'application de quotas à court terme. Vous n'avez donc pas besoin d'utiliser un véritable ID utilisateur. Vous pouvez choisir n'importe quelle chaîne arbitraire de moins de quarante caractères qui identifie de manière unique un utilisateur.

Pour protéger la confidentialité des utilisateurs et limiter le volume de métriques, la console Google Cloud et Cloud Monitoring ne stockent ni n'affichent la télémétrie analysée par une adresse IP ou un quotaUser individuel. Vous pouvez consulter la limite de quota globale du projet et l'utilisation totale, mais vous ne pouvez pas surveiller, remplacer ni configurer d'alertes pour des utilisateurs individuels spécifiques.

Si votre API n'inclut pas de limite par défaut, par utilisateur et par minute, les valeurs quotaUser sont ignorées.

Afficher et modifier tous les quotas pour les API dans un projet

Vous pouvez consulter, modifier et demander des limites de quota plus élevées pour toutes les API facturables d'un projet donné en affichant la page Quotas de la section IAM et administration de laGoogle Cloud console.

Pour afficher et modifier les quotas de toutes les API facturables de votre projet, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Quotas.

    Accéder à la section "Quotas"

  2. Dans la liste des projets, sélectionnez un projet ou créez-en un. La page Quotas du projet sélectionné s'affiche. Elle répertorie une ligne pour chaque type de quota disponible dans chaque service.
  3. Cliquez sur  Filtrer le tableau pour interroger votre quota selon une propriété spécifique.
  4. Cochez la case à côté du ou des quotas que vous souhaitez modifier. La facturation doit être activée sur le projet pour que vous puissiez cocher certaines cases.
  5. Cliquez sur Modifier les quotas.
  6. Dans le volet Modifications des quotas qui s'affiche, développez la vue des services, modifiez les quotas de ce service si nécessaire, puis cliquez sur OK.
  7. Répétez l'opération pour modifier les quotas dans chacun des services sélectionnés.
    • Les limites de quota actuelles sont préremplies dans les zones de saisie.
    • Un service avec une icône d'alerte () lors de l'envoi contient des erreurs d'entrée.
    • Vous pouvez ajouter davantage de quotas à modifier en les sélectionnant comme décrit précédemment.
    • Vous pouvez supprimer un service du volet Modifications de quota en passant la souris sur la vue du service non développée, puis en cliquant sur l'icône de suppression ().
  8. Lorsque vous avez terminé de modifier les quotas, cliquez sur SUIVANT.
  9. Si votre demande de modification de quota nécessite un examen, le formulaire Coordonnées s'affiche. Remplissez le formulaire avec vos coordonnées.
  10. Cliquez sur Envoyer la requête.