У меня есть следующий URL-адрес для вызова служб за шлюзом API: https://< random-key> .execute-api..amazonaws.com / prod / ..., пока я не включил ключ API и авторизацию.
Вопрос: это достаточно безопасно? бакалавр естественных наук сказал, что это небезопасно, потому что любой может использовать URL для вызова моих служб за URL, не только я. Одним из решений является то, что я могу включить ключ API и прикрепить ключ API в качестве заголовка запроса при вызове URL. Другое решение - использовать AWS Cognito и т. Д.
Почему это не безопасно? уже не является своего рода учетными данными? Только я знаю этот и даю api url с только человеку, которому доверяю, никто больше не знает, что такое URL. И если сб. действительно хочет шпионить , тогда присоединение API-ключа не помогает, потому что если человек может украсть , он также может украсть API-ключ.
Я понимаю, что API-шлюз также может использовать AWS cognito для аутентификации. то есть, когда человек получает доступ к URL, ему будет предложено ввести учетные данные (пользователь / пароль), но опять же, эти учетные данные также могут быть украдены, так же, как могут быть украдены и API Key.
IMO, использование , API-ключа и учетных данных - это одно и то же. вот почему я думаю, что мне просто нужно установить API-шлюз как общедоступный без включения API-шлюза и AWS cogonito.
Я прав? Кто-нибудь может объяснить, почему использование API Gateway или AWS cognito более безопасно, чем без их использования?
Еще один вопрос, связанный с вышеуказанным вопросом:
поскольку в URL-адресе используется https, не будет ли зашифрован сам URL-адрес (включая ), а заголовок запроса, такой как ключ API, и содержимое в виде имени пользователя / пароля будут зашифрованы?