Привет!
Я хочу рассказать о фиче IAM ролей для серверов в AWS. Роль — это совокупность прав доступа, которые можно применить к серверу. Можем рассмотреть на определённом примере — дать доступ серверу к S3, не забивая никаких ключей вручную.
Приступим к примеру.
1. Создадим роль с нужными правами
Идём в консоль IAM и там создаём роль S3.
Далее выбираем Amazon EC2
Далее Amazon S3 Full Access
Далее-далее-далее.
Запустим сервер.
Запустим обычный сервер с Amazon Linux (на нём сразу установлены все нужные тулзы). В Advanced Details выбираем роль, которую только что создали:
И стартуем сервер.
3. Тестируем.
Зайдя по ssh на сервер мы можем достать ключи доступа, обратившись по адресу
http://169.254.169.254/latest/meta-data/iam/security-credentials/S3
Ответ в формате JSON можно распарсить и вытащить из него нужные данные:
{
"Code" : "Success",
"LastUpdated" : "2012-11-29T16:23:50Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIAI6G6HHSLUCRSUCQA",
"SecretAccessKey" : "15WdeWs2H182T+j3ZKkK+JBOssFqWdxdVpsHHgBm",
"Token" : "AQoDYXdzEDIagAL1yc69LLX+jH3tyDdf1rSk++Y1+4TrpYo4VUhHzcdFh3M9aWzUx1JCrWVoOr1Ghnkd3ALgUPBPtFrviuanVOSoXZBbuF0CKl3iVVLTJpEmOMStAAs0myrezYnUNVwIxIawSczxQkKIAuHDszV2mDFBBQ8RbKYu7wHAh+lQvUmfppyIcZ2kCHy/DtGuB9pYXxiNbTnFEN15LtOCojHdVicJSW4s5ynDd36GjsYYcAGmtDGNZXkUI/AS/ljgOtK1+7o9xN+M2RKJj7niL/iRv0LjWuTyTD9Z/D+p9k4KeLCiujKLTIt7g2VDiKqOg0r1OwI76Uh4q0MokEVH+PGuiccNILyY3oUF",
"Expiration" : "2012-11-29T22:38:49Z"
}
Далее дело техники. Мы можем проводить все операции с сервисами, к которым имеем доступ.
Автор: korjik