Намаляване на неавтентифицирани (без API ключ) заявки на API Gateway

Бих искал да осигуря безплатно ниво за моя API и да позволя на новите потребители да го тестват, без да се налага да се регистрират за API ключ.

Има ли начин да задам лимит/квота и да намаля заявки, които нямат api ключ на API Gateway?


person Jonathan    schedule 21.09.2017    source източник


Отговори (1)


Да, по същество има две места, където можете да конфигурирате вашите опции за дроселиране:

  1. В плановете за използване. Свързвате API ключ с план за използване и конфигурирате заявка за метод, за да изисква API ключ. http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html

  2. n етапни настройки можете да конфигурирате метода за регулиране по подразбиране - това ще бъде приложимо за всяка заявка (не се изисква API ключ). http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html

това, което търсите е 2.

между другото, много важен момент - имайте предвид, че API ключовете не са защитен механизъм - не трябва да използвате API за целите на удостоверяване.

person Nicholas    schedule 22.09.2017
comment
използването на 2 би означавало ограничаване на достъпа и за потребители, които са се регистрирали - person Jonathan; 25.09.2017
comment
мисля, че в такъв случай е по-добре да отидете с отделен етап (т.е. /uat/) за вашите тестови потребители; или ако предпочитате същия етап, тогава да имате отделни ресурси за заявки, изискващи API-ключове (т.е. /method) и неизискващи API-ключове (т.е. /method/uat или /uat/method ) и конфигурирайте всеки от тях съответно. освен това, не мисля, че ще можете да конфигурирате незадължителни API-ключове на точно същия ресурс/метод - тъй като този флаг е двоичен (да/не). - person Nicholas; 25.09.2017
comment
Идвам тук от далечното бъдеще. Ако имате нужда от api ключ и направите този ключ публичен и задължителен, това трябва да ви даде ефекта на неавтентифицирани потребители, ограничени от плана за използване. Този факт, че ключът е публичен, няма значение, защото искате да ограничите всеки, който се свързва с api. - person Presley Cobb; 17.07.2021