Роль AWS IAM назначается во время выполнения на основе переменных

В настоящее время создается мультитенантное приложение с использованием узла js. Мы используем возражение фреймворка ORM и его базовый менеджер SQL-запросов knex.

Наши базы данных будут RDS mySql.

Мы планируем иметь отдельные базы данных для каждого арендатора и хотим управлять доступом через роли IAM (которые сопоставляются с пользователями базы данных RDS). то есть мы планируем иметь одну роль iam на базу данных tennant.

Пользователи, которые получают доступ к приложению, будут авторизованы через congnito и будут иметь сеанс на стороне сервера, который будет иметь информацию, необходимую для их сопоставления с конкретной базой данных.

Мой вопрос: как мне назначить роль iam для отдельного запроса?

Часть моей проблемы заключается в том, что я не знаю, какие ключевые слова использовать для поиска, поэтому мой гугл-фу меня подводит.

Глядя на документы, похоже, что это можно сделать следующим образом:

  • используйте токен Cognito для принятия роли IAM (не уверен, нужен ли мне здесь идентификационный пул Cognito. Пока неясно) с использованием STS.

  • подключиться к базе данных RDS, где пользователь базы данных - это имя роли IAM

Что мне неясно, так это то, что когда мы используем STS, мы получаем токен, действительный в течение 15 минут, который мы можем использовать для принятия роли IAM. Таким образом, кажется, что мы хотели бы сделать это кэшировать токен, чтобы избежать необходимости запрашивать токен каждый раз.

  • это хороший подход / лучшая практика?

  • Есть ли лучшие способы сделать это / я все неправильно понял?

Спасибо

0 ответов

Другие вопросы по тегам