#aws-lambda
#aws-lambda
Вопрос:
У меня есть небольшое веб-приложение, которое вызывает несколько функций Lambda. Мне нужно аутентифицировать пользователей на основе простой парольной фразы. Нет необходимости в конкретных пользователях и т. Д.
Я подумываю о реализации этого с помощью лямбда-выражения, которое принимает кодовую фразу, сопоставляет ее и возвращает ключ API, который принимается остальными лямбдами. Ключи API предназначены для разработчиков, поэтому я знаю, что это нецелевое использование.
Есть ли что-то небезопасное в этом? Единственная проблема, которую я вижу, заключается в том, что если ключ API скомпрометирован, он остается постоянным, например, срок его действия не истекает через 1 час, как у токена. Но в этом случае я просто генерирую новые ключи.
В противном случае это кажется мне безопасным. Я ошибаюсь?
Комментарии:
1. «Ключи API предназначены для разработчиков, поэтому я знаю, что это нецелевое использование». — пожалуйста, уточните.
2. Почему бы не использовать подписанные запросы вместо ключей API?
3. Аутентификация пользователя @Dai должна выполняться с помощью Cognito или реализации некоторого потока OAuth. В документах указано, что ключи API предназначены для предоставления разработчикам программного доступа к вашему API. Что касается подписанных запросов, похоже, что это только для тех случаев, когда вы используете AWS-SDK в частной среде. Поскольку это общедоступный веб-сайт, который не будет работать.
4. Это зависит от того, как работает ваша система authx. Использование подписанных запросов не имеет ничего общего с AWS — это просто еще одна альтернативная схема аутентификации, которую вы могли бы реализовать самостоятельно.
5. @Dai Извиняюсь, я никогда раньше не реализовывал аутентификацию. Я просто поражен, что люди все еще внедряют свои собственные решения — аутентификация выполнялась миллионы раз раньше, я ожидал увидеть один или два основных пакета NPM, которые сделали это за вас. Кажется, что люди каждый раз изобретают велосипед, если они не идут по сложному маршруту OAuth. Я думаю, что внедрение простой системы токенов аутентификации на предъявителя может лучше всего подойти для моего варианта использования — таким образом, токены становятся недействительными по истечении заданного периода времени.