Я впервые работаю над приложением nodejs на AWS и все еще изучаю все сервисы. Я работаю над аутентификацией и авторизацией своих приложений и собираюсь создать свои роли и группы пользователей. Предназначен ли сервис AWS IAM как для управления AWS, так и для авторизации пользователей вашего приложения, или мне следует использовать один из модулей ACL nodejs и управлять своими ролями и пользователями вне сервиса AWS IAM?
Следует ли использовать роли и разрешения AWS IAM для пользователей приложений?
Ответы (3)
Следует ли использовать роли и разрешения AWS IAM для пользователей приложений?
Нет, не стоит. Роли и разрешения AWS IAM контролируют доступ пользователей / экземпляров AWS к только сервисам AWS через профили пользователей и экземпляры EC2. Они не предназначены для использования для определения аутентификации пользователя или ролей в проприетарном приложении.
Должен ли я использовать один из модулей ACL nodejs и управлять своими ролями и пользователями вне службы AWS IAM?
Да исправить. Используйте собственные методы / библиотеки для управления аутентификацией пользователей и ролями в вашем приложении.
С появлением API-шлюзов и лямбда-выражений мне интересно, верен ли этот совет.
у меня есть очень простой API в узле, который в значительной степени является просто ACL для хранения капли JSON в mongo.
Если бы я мог смоделировать свои разрешения в IAM и использовать лямбда-функцию для обработки записи / чтения mongo, было бы разумно использовать IAM для кредитов пользователей моего приложения.
Возможно, это то, для чего был выпущен Cognito? (хотя я не особо в этом разбирался)
пользователи AWS IAM используются для обмена вашими сервисами Amazon с кто-то (например, ваша команда) без необходимости раскрывать свой личный пароль.
Одним из ключевых преимуществ является возможность предоставить административный доступ любому сотруднику, не позволяя ему получать доступ к данным вашей кредитной карты.
Если вам нужно создать простой модуль аутентификации для вашего приложения или веб-сайта (общий случай системы с именем пользователя и паролем), вы можете попробовать использовать что-то вроде PassportJS