是否可以使用AWS SDK共享AMI?我知道我可以使用AWS控制台或CLI共享AMI映像,如http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html中所述。 我搜索了AWS文档,但是我找不到任何允许您使用AWS SDK共享AMI的文档/示例。它有可能吗?
编辑:此外,是否可以将AMI图像共享给其他IAM用户?
答案 0 :(得分:1)
在您想要关注您提供的链接的AMI(或亚马逊图像)上修改和归属是正确的。 (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyImageAttribute.html)
EC2的AMI部分仅允许您创建最小权限。一个是给予AWS账户ID的权限,通常类似于:123456789012
。请注意,帐户ID与AWS账户的主要或主要用户相关联(例如您的电子邮件地址)。它允许你做的另一种类型的权限是组权限,但看起来亚马逊还没有实现它,因为组的唯一值允许是all
。
AIM为主要帐户ID(或主电子邮件地址)层次结构以下的用户提供更精细的权限访问。
现在,要使用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/*"
]
}
]
}
此政策授予在帐户ID us-east-1
123456789012
下的所有实例和图片上创建和取消注册和图像的权限。
您也可以通过编程方式完成上述所有操作。
[编辑]
这是来自http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-ec2的可能的EC2 ARN值列表:
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
答案 1 :(得分:0)
绝对。例如,查看boto.ec2.image类。 (蟒蛇sdk)
http://boto.readthedocs.org/en/latest/ref/ec2.html#module-boto.ec2.image
我确信ruby,js和java SDK也可以使用AWS API。
事实上,cli也使用API。
此处还有关于如何创建图像的EC2 API参考。
http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateImage.html
是的,您可以根据用户的AIM政策与其他用户共享AMI。