Что произойдет, если вы находитесь в середине процесса, когда время ожидания AWSAssumeRole истекает?

В настоящее время я работаю с ролью, которую мне нужно взять на себя для доступа к определенным сегментам на S3.

Мне было интересно, если продолжительность, предоставленная STSAssumeRoleSessiomCredentialsProvider, составляет 1 час, а вы делаете что-то вроде загрузки файла, который занимает 1,5 часа, завершает ли процесс процесс или останавливается посередине, потому что продолжительность закончилась?

2 ответа

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

Истечение срока действия учетных данных STS - это проблема, когда к AWS выполняются повторные подключения в рамках длительной программы, и программа считывает учетные данные в начале и сохраняет их. Обычно рекомендуется отделить процесс получения учетных данных sts от пользователей этих учетных данных, и пользователи должны гарантировать, что учетные данные всегда считываются при изменении базового источника учетных данных (обычно файла).

Эти аспекты обрабатываются AWS Java SDK's ProfileCredentialsProviderкласс автоматически. Не уверен, существует ли аналогичный модуль и в других языковых привязках.

Учетные данные проверяются при представлении в вызове API. Если вы выполните вызовы API до истечения срока действия учетных данных, тогда все в порядке.

Однако, если вам нужно выполнить несколько вызовов API, и один из них превышает время истечения срока действия, этот вызов завершится ошибкой.

Это особенно актуально для многочастных загрузок S3, каждая часть которых представляет собой отдельный вызов API и каждый раз предоставляет учетные данные. Решение этой проблемы обычно одно из:

  1. получить учетные данные, которые действительны достаточно долго для завершения операции
  2. обновите учетные данные, когда срок действия истекает, и используйте новые учетные данные для последующих загрузок частей
Другие вопросы по тегам