Les quotas d'utilisation spécifiques aux API vous permettent de limiter les requêtes par jour, les requêtes par minute ou les requêtes par minute et par utilisateur. Vous pouvez ainsi contrôler le trafic de service et respecter les limites du niveau sans frais. Étant donné que ces limites régulent les volumes d'API individuels plutôt que les dépenses globales, utilisez les budgets et les alertes budgétaires pour éviter les coûts inattendus dans l'ensemble d'un projet ou d'un compte de facturation. L'application des quotas est différée après le dépassement d'un seuil. Par conséquent, incluez une marge de sécurité lorsque vous configurez des limites pour gérer les coûts de facturation.
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 :
- Dans la console Google Cloud , accédez à la page Tableau de bord "API et services".
- Dans la liste des projets, sélectionnez un projet ou créez-en un.
- Cliquez sur le nom de l'API qui vous intéresse.
- Cliquez sur Quotas. Si l'onglet Quotas n'est pas présent dans la barre de navigation, cela signifie que l'API que vous avez sélectionnée n'a pas de quotas définis.
- 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.
- Cochez la case à côté du quota que vous souhaitez limiter, puis cliquez sur MODIFIER LES QUOTAS.
- Remplissez le formulaire de modification de quota, y compris la nouvelle limite que vous souhaitez définir.
- 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.
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 telle limite par défaut existe 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, il n'est pas possible de l'ajouter ni de la modifier.
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 du remplacement de l'adresse IP du client 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), tels qu'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 pourrait 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 qui vous appartient, 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 plafonnés séparément. Pour éviter cela, vous pouvez remplacer l'identification de l'utilisateur par défaut 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. Ils 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 avec des restrictions de service, telles que des restrictions d'adresse IP ou des restrictions de référence 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 ne sert qu'à l'application du quota à court terme. Vous n'avez donc pas besoin d'utiliser un ID utilisateur réel. 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 les données de télémétrie analysées par une adresse IP ou un quotaUser individuel. Vous pouvez afficher la limite de quota globale du projet et l'utilisation totale, mais vous ne pouvez pas surveiller ni remplacer les quotas des utilisateurs individuels spécifiques, ni configurer d'alertes pour eux.
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 et modifier les limites de quota pour toutes les API facturables d'un projet donné, et demander à les augmenter, en accédant à la page Quotas de la section IAM et administration de la consoleGoogle Cloud .
Pour afficher et modifier les quotas de toutes les API facturables de votre projet, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Quotas.
- 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.
- Cliquez sur Filtrer le tableau pour interroger votre quota selon une propriété spécifique.
- 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.
- Cliquez sur Modifier les quotas.
- 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.
- 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 ().
- Lorsque vous avez terminé de modifier les quotas, cliquez sur SUIVANT.
- Si votre demande de modification de quota nécessite un examen, le formulaire Coordonnées s'affiche. Remplissez le formulaire avec vos coordonnées.
- Cliquez sur Envoyer la requête.