Привет!
Вчера мой коллега написал статью об использование s3cmd на Windows. Более лёгкого решения вне AWS не найти. Да и привычно, не так ли?
Но вот вспомнилась мне моя статья о PowerShell утилитах от AWS, и возможность использования ролей серверов. И я понял, что внутри AWS из Windows работа с S3, да и со всеми остальными сервисами AWS крайне проста. Об IAM ролях вы можете почитать здесь.
Коротко, роль сервера даёт нам возможность автоматически получать ключи доступа к ресурсам AWS.
Итак, от изобилия ссылок, перейдём к процессу создания роли, ну и работы с ней.
В консоли IAM идём в меню Roles. Далее создаём IAM роль, например с полным доступом к S3:
Выбираем пункт Amazon EC2 — там же будут запускаться наши серверы:
В правах роли выбираем нужный пункт: S3 Full Access:
Последняя проверка, всё ли правильно:
Далее, нам нужно запустить сервер с только что созданной ролью:
Через время, заходим на сервер и заходим в PowerShell. Для того, чтоб получить ключи доступа к AWS от сервера, стоит запустить всего одну команду:
PS C:UsersAdministrator> Set-AWSCredentials
После чего, из профайла сервера загрузятся ключи доступа к AWS с привилегиями IAM роли.
Далее, например, командой Copy-S3Object мы можем скачать файл на диск:
Copy-S3Object -SourceBucket MyBucket -SourceKey FileName "C:FileName"
Вот и всё, всё работает без указаний ключей и остальных ненужных приблуд.
Автор: korjik