Я добавил пользователя 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.
Если вы не используете какие-либо параметры командной строки, которые запускают «согласованный» аспект создания снимка, то он в основном такой же, как командная строка 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, чтобы людям было легче его просматривать и разветвлять.