Назад | Перейти на главную страницу

Как настроить доступ из командной строки с ограниченными разрешениями к EC2?

Я добавил пользователя Snapshotter в свою учетную запись AWS (через IAM) с разрешением только на ebs:CreateSnapshot.

В одном из моих экземпляров я хочу иметь сценарий, который периодически создавал моментальный снимок, но не сохранял в этом экземпляре какие-либо учетные данные или сертификаты, которые позволяют более разрешающий доступ к учетной записи или другим командам EC2.

Как мне этого добиться?

В IAM я могу получить «секретный ключ доступа» и «идентификатор ключа доступа» для пользователя Snapshotter, но похоже, что закрытый ключ и сертификаты X509 предназначены только для всей учетной записи и, следовательно, повлекут за собой полный доступ.

$ ec2-create-snapshot -h
  SYNOPSIS
     ec2addsnap ([ec2-create-snapshot])
     ec2addsnap [GENERAL OPTIONS] -d DESCRIPTION VOLUME
...

  GENERAL OPTIONS

     -K, --private-key KEY
          Specify KEY as the private key to use. Defaults to the value of the
          EC2_PRIVATE_KEY environment variable (if set). Overrides the default.

     -C, --cert CERT
          Specify CERT as the X509 certificate to use. Defaults to the value 
          of the EC2_CERT environment variable (if set). Overrides the default.

Один из вариантов - вызвать вызов API ec2-create-snapshot с использованием интерфейса REST вместо интерфейса SOAP. Это позволяет вам использовать «ID ключа доступа» и «секретный ключ доступа» вместо x509 cert / pk.

Я написал программу командной строки с именем ec2-consisten-snapshot, которая использует REST API ec2-create-snapshot.

http://alestic.com/2009/09/ec2-consistent-snapshot

Если вы не используете какие-либо параметры командной строки, которые запускают «согласованный» аспект создания снимка, то он в основном такой же, как командная строка ec2-create-snapshot (за исключением того, что она выполняется в десять раз быстрее).

Вот статья, которую я написал, в которой есть пошаговые инструкции по использованию IAM с ec2-согласованным моментальным снимком, чтобы делать именно то, что вы пытаетесь сделать:

Повышение безопасности в EC2 с помощью AWS Identity and Access Management (IAM)
http://alestic.com/2010/09/aws-iam

Я настроил Ubuntu PPA для простой установки ec2-согласованного снимка и его зависимостей. Для других дистрибутивов потребуется немного больше работы, но это всего лишь сценарий, написанный на Perl, поэтому он очень портативен.

Я также занимаюсь перемещением основного источника для моментального снимка, согласованного с ec2, с базара на github, чтобы людям было легче его просматривать и разветвлять.