Доступ к корзине AWS S3 из контейнера на сервере - PullRequest
0 голосов
/ 17 января 2019

Как я могу получить доступ к своей корзине S3 из контейнера, не имея учетных данных AWS в коде?

Мой код также автоматически развертывается, поэтому его использование в качестве переменной Env также не годится (сценарий развертывания находится в хранилище - и учетные данные также не должны быть там).

Я пытался изучить роли IAM, но не смог обернуть голову вокруг чего-то, что поможет моему варианту использования.

1 Ответ

0 голосов
/ 17 января 2019

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

Если вы используете службу ECS, то вы можете прикрепить эту роль к задаче, в которой вы определяете свои контейнеры (все еще можно присоединить ее к базовому экземпляру контейнера EC2 - но только в случае типа запуска EC2, а не Fargate - для контейнера, чтобы взять на себя эту роль, но предпочтительно быть настолько гранулированным, насколько это возможно - отдельные задачи имеют свои роли).

Никогда не следует добавлять учетные данные AWS в свой код или хранить их в экземпляре / контейнере EC2, поэтому у вас есть роли.

...