#amazon-web-services #authorization #amazon-cognito
Вопрос:
У меня есть заявление (node.js), которые нуждаются в аутентификации и авторизации. Моему приложению необходим доступ к базе данных postgres, а также требуется наследование (роли и т.д.)
Одним из вариантов реализации этого является использование сервиса aws cognito (приложение будет размещаться на aws должным образом — не уверен в этом).
итак, вопросы таковы
- Является ли служба cognito поддержкой авторизации для node.js с базой данных, которая не является сервисами на aws? (Я читал, что «пул удостоверений» предназначен для сервисов aws, таких как MariaDB)
- Если мое приложение будет на heroku (а не на aws), я также смогу использовать сервисы cognito (для авторизации)?
- Является ли наследование ролей/пользователей cognito поддержкой ?
Tnx
Ответ №1:
Пул удостоверений Cognito используется для предоставления доступа к сервисам aws. Пул пользователей используется для обмена учетными данными пользователей на токены, которые могут содержать дополнительную информацию о пользователе после декодирования. Так что да, вы можете использовать пул пользователей только для аутентификации. Ваши пользовательские атрибуты могут содержать информацию, относящуюся к службам, к которым этот пользователь должен получить доступ.
Однако, если вы планируете хранить учетные данные базы данных, я предлагаю вам использовать AWS secrets manager для хранения учетных данных базы данных и предоставить пользователю cognito доступ к этому секрету. В этом случае вам нужно будет использовать как пул пользователей, так и пул удостоверений.
- Не напрямую, но вы можете использовать его для доступа к менеджеру секретов, в котором хранятся учетные данные вашей БД.
- Да, вы можете использовать cognito в любом месте. Однако он будет подключаться к AWS, чтобы предоставить вам токены. И эти токены распознаются только на AWS. Вот почему вам нужно использовать их для доступа к другим секретам, которые можно использовать для доступа к любым другим службам, которые вы хотите.
- Cognito поддерживает группы. Я не уверен, что это то, что вы подразумеваете под наследованием. У вас могут быть роли на основе маркеров в группах.