11 votes

Comment définir un quota pour les requêtes CORS preflight avec AWS API Gateway ?

Je suis en train de construire une application sans serveur avec AWS Lambda et API Gateway. Afin d'éviter que des attaques DDOS effectuant un grand nombre de requêtes ne me coûtent beaucoup d'argent, j'ai mis en place un plan d'utilisation avec un quota de requêtes (par exemple 10K requêtes/mois). Cela nécessite qu'une clé API soit transmise en tant qu'en-tête par les appelants.

Cela semble bien fonctionner, mais je dois également activer CORS pour ce service. Pour cela, je dois autoriser une requête OPTIONS non autorisée (requête "CORS preflight") car les navigateurs ne supportent pas l'envoi d'un en-tête spécial. Mais je n'arrive pas à trouver un moyen d'imposer un quota et je me retrouve à la case départ : un nombre incontrôlé de ces demandes pourrait coûter une somme d'argent imprévisible. Existe-t-il un moyen d'exclure cette possibilité ?

5voto

Harish KM Points 860

Pour imposer un quota sur les requêtes OPTIONS, créez une ACL web dans AWS WAF et associez-la à une étape de votre API dans API Gateway. Ajoutez une règle basée sur le taux dans l'ACL web qui bloque toutes les demandes OPTIONS au-delà de la limite de taux que vous spécifiez. Les règles dans les ACL web peuvent être configurées spécifiquement pour cela, comme indiqué ci-dessous :

enter image description here enter image description here

Pour un tutoriel guidé par des captures d'écran de l'ensemble de ce processus, voir mon blog .

3voto

DominikHelps Points 129

Vous ne payez pas pour les appels non autorisés à API-Gateway. AWS prend en charge ces frais. Vous payez une fois que la demande est autorisée et seulement si elle ne dépasse pas votre plan d'utilisation.

Ainsi, si quelqu'un fait un DDOS sur votre API sans authentification, c'est gratuit.

Si quelqu'un fait un DDOS avec une clé api valide, vous ne paierez que jusqu'à ce que votre plan d'utilisation soit dépassé.

Plus d'informations aquí .

  • Les demandes ne sont pas facturées pour l'autorisation et l'authentification et d'authentification.

  • Les appels aux méthodes nécessitant des clés API ne sont pas facturés lorsque les clés API sont manquantes ou invalides.

  • Les requêtes API Gateway-throttled ne sont pas facturées lorsque le taux de requête ou le taux de rafale dépasse les limites préconfigurées.

  • Les requêtes limitées par le plan d'utilisation ne sont pas facturées lorsque les limites de taux ou de quota dépassent les limites préconfigurées.

Veillez donc à activer l'authentification sur votre API et à mettre en place un plan d'utilisation pour toutes les demandes authentifiées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X