2013-12-18 3 views
1

Можно ли использовать AMI с использованием AWS SDK? Я знаю, что я могу делиться изображениями AMI с помощью консоли AWS или CLI, как описано в http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html. Я искал документацию AWS, но мне не удалось найти документацию/примеры, позволяющие делиться AMI с помощью AWS SDK. Это вообще возможно?Можно ли разделить изображения Amazon AMI другим пользователям с программным использованием AWS SDK

EDIT: Кроме того, возможно ли распространять изображения AMI другим пользователям IAM?

ответ

0

Абсолютно. Например, посмотрите на класс boto.ec2.image. (Питон SDK)

http://boto.readthedocs.org/en/latest/ref/ec2.html#module-boto.ec2.image

Я уверен, что рубин, JS и Java SDK, может это делать, как все они используют API AWS.

На самом деле cli также использует API.

Также приведена ссылка на EC2 API о том, как создать изображение.

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateImage.html

И да, вы можете поделиться МАСС с другими пользователями в зависимости от политики МВС на пользователей.

+0

Спасибо Rico за ваш ответ. Я не смог поделиться изображениями AMI с помощью java SDK. Ссылка, которую вы предоставили, приводит меня к документации CreateImage, но мне нужно иметь возможность совместно использовать уже существующий образ AMI. Я просмотрел документацию и нашел ModifyImageAttribute по адресу http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyImageAttribute.html. Однако я хочу поделиться им с пользователями и группами IAM.Я не могу определить AWS userid для пользователя или группы IAM. –

1

Это право изменять и приписывать AMI (или изображение Amazon), которое вы хотите использовать по ссылке, которую вы предоставили. (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyImageAttribute.html)

Раздел AMI в EC2 позволяет создавать минимальные разрешения. Один из них - это разрешения для идентификатора учетной записи AWS, который обычно выглядит примерно так: 123456789012. Имейте в виду, что идентификатор учетной записи связан с основным или основным пользователем учетной записи AWS (например, ваш адрес электронной почты). Другой тип разрешений, который он позволяет вам выполнять, - это групповые разрешения, но похоже, что Amazon еще не реализовал его, поскольку единственное значение, которое позволяет Group, равно all.

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

Теперь, чтобы использовать AIM для предоставления разрешений Amazon Images (AMI), вам необходимо связать политику AIM с пользователем или группой, имеющей разрешения AMI. Например:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1388772918000", 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:CreateImage", 
     "ec2:DeregisterImage" 
     ], 
     "Resource": [ 
     "arn:aws:ec2:us-east-1:123456789012:instance/*", 
     "arn:aws:ec2:us-east-1:123456789012:image/*" 
     ] 
    } 
    ] 
} 

Эта политика дает разрешения на создание и дерегистрировать и изображения на всех экземплярах и изображений при us-east-1 для аккаунта 123456789012.

Вы также можете сделать все вышеперечисленное программно.

[Редактировать]

Это список возможных значений EC2 ARN из http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-ec2:

arn:aws:ec2:region:account:instance/instance-id 
arn:aws:iam::account:instance-profile/instance-profile-name 
arn:aws:ec2:region:account:placement-group/placement-group-name 
arn:aws:ec2:region::snapshot/snapshot-id 
arn:aws:ec2:region:account:volume/volume-id 
+0

Спасибо Рико за ваш ответ. Я добавил политику для двух действий, которые вы упомянули для определенной группы, но я не смог создать новый AMI с этим. Должен ли я также предоставлять действие «RegisterImage» в списке действий? Кроме того, мне было интересно, откуда взялись имена ресурсов? Я не нашел «arn: aws: ec2: us-east-1: [awsid]: instance/*" в http://docs.aws.amazon.com/general/latest/gr/aws-arns- и-namespaces.html. –

+0

Кажется, что даже добавление «RegisterImage» в список действий не позволяет пользователям этой группы создавать новые AMI. –

+0

Я бы попытался добавить все действия с изображениями на этой странице: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-apis.html, а затем начать удаление тех, которые вам не нужны. Убедитесь, что у вас есть разрешения добавлять все действия «изображения» в вашу политику. Здесь вы можете найти все типы ресурсов AIM EC2 (для arns) http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html – Rico