Блокировать запросы без аутентификации (без ключа API) на шлюзе API.

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

Есть ли способ установить ограничение/квоту и ограничить запросы, которые не имеют ключа API на шлюзе API?


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. В настройках этапа вы можете настроить метод регулирования по умолчанию — он будет применяться к любому запросу (ключ 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