Мы разрабатываем веб-приложение ASP.NET Core, которое будет работать локально в среде клиента, и этому приложению необходим доступ к определенным ресурсам в нашей учетной записи AWS. Поскольку это пересекает организационную границу, мы создаем роль IAM в нашей учетной записи AWS и предоставляем клиенту доступ для принятия этой роли из своей учетной записи.
Я считаю, что способ, которым это должно работать, заключается в том, что приложение ASP.NET Core имеет «постоянные» учетные данные для учетной записи AWS клиента, а затем получает временные учетные данные для роли IAM в нашей учетной записи для выполнения работы. Тем не менее, приложение должно выполнять большую часть своей работы в IHostedService
/ BackgroundService
, который является одноэлементным и работает в течение всего времени жизни приложения, поэтому, если мы используем стандартное внедрение зависимостей, у нас будет один длинный экземпляр данного клиента службы AWS. Кто-нибудь знает, имеет ли AWS SDK возможность постоянно повторно получать временные учетные данные для роли IAM? Если нет, то я предполагаю, что нам придется прекратить получать сервисные клиенты через DI и периодически создавать их заново для обновления учетных данных.