Что произойдет, если вы находитесь в середине процесса, когда время ожидания AWSAssumeRole истекло? - PullRequest
0 голосов
/ 21 октября 2019

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

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

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

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

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

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

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

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

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

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

...