Я развертываю свою первую пакетную работу на AWS. Когда я запускаю образ докера в экземпляре EC2, скрипт, вызываемый заданием, работает нормально. Я назначил роль IAM этому экземпляру, чтобы разрешить доступ S3.
Но когда я запускаю тот же сценарий, что и задание в AWS Batch, он завершается ошибкой из-за ошибок Access Denied при доступе S3. И это несмотря на то, что в определении задания я назначаю роль IAM (созданную для задачи обслуживания Elastic Container), которая имеет полный доступ S3.
Если я запускаю пакетное задание с командой, которая не обращается к S3, она работает нормально.
Поскольку использование роли IAM для определения задания кажется недостаточным, как я могу предоставить разрешения S3 в пакетном задании в AWS?
EDIT
Так что, если я просто запускаю aws s3 ls interlinked
как свою работу, это также работает правильно. Что не работает, так это запуск сценария R:
library(aws.s3)
get_bucket("mybucket")[[1]]
Сбой при отказе в доступе.
Так что, похоже, проблема в пакете aws.s3
или, что более вероятно, в его использовании.