Если вы запускаете контейнеры непосредственно на экземпляре EC2 (без использования службы ECS), вам нужно создать IAM role
и прикрепить к нему соответствующую политику (например, AmazonS3FullAccess
, если вам нужны все права для S3, если вам нужно только прочитать содержимое S3, тогда вы можете добавить AmazonS3ReadOnlyAccess
policy). После того, как вы создали эту роль, вы можете прикрепить ее к экземпляру EC2, где вы запускаете свой контейнер.
Если вы используете службу ECS, то вы можете прикрепить эту роль к задаче, в которой вы определяете свои контейнеры (все еще можно присоединить ее к базовому экземпляру контейнера EC2 - но только в случае типа запуска EC2, а не Fargate - для контейнера, чтобы взять на себя эту роль, но предпочтительно быть настолько гранулированным, насколько это возможно - отдельные задачи имеют свои роли).
Никогда не следует добавлять учетные данные AWS в свой код или хранить их в экземпляре / контейнере EC2, поэтому у вас есть роли.