Роль AWS IAM назначается во время выполнения на основе переменных
В настоящее время создается мультитенантное приложение с использованием узла js. Мы используем возражение фреймворка ORM и его базовый менеджер SQL-запросов knex.
Наши базы данных будут RDS mySql.
Мы планируем иметь отдельные базы данных для каждого арендатора и хотим управлять доступом через роли IAM (которые сопоставляются с пользователями базы данных RDS). то есть мы планируем иметь одну роль iam на базу данных tennant.
Пользователи, которые получают доступ к приложению, будут авторизованы через congnito и будут иметь сеанс на стороне сервера, который будет иметь информацию, необходимую для их сопоставления с конкретной базой данных.
Мой вопрос: как мне назначить роль iam для отдельного запроса?
Часть моей проблемы заключается в том, что я не знаю, какие ключевые слова использовать для поиска, поэтому мой гугл-фу меня подводит.
Глядя на документы, похоже, что это можно сделать следующим образом:
используйте токен Cognito для принятия роли IAM (не уверен, нужен ли мне здесь идентификационный пул Cognito. Пока неясно) с использованием STS.
подключиться к базе данных RDS, где пользователь базы данных - это имя роли IAM
Что мне неясно, так это то, что когда мы используем STS, мы получаем токен, действительный в течение 15 минут, который мы можем использовать для принятия роли IAM. Таким образом, кажется, что мы хотели бы сделать это кэшировать токен, чтобы избежать необходимости запрашивать токен каждый раз.
это хороший подход / лучшая практика?
Есть ли лучшие способы сделать это / я все неправильно понял?
Спасибо