AWS – 允许用户启动和停止EC2实例

我无法为特定用户创buildIAM策略来授予启动和停止EC2实例的权限。

我已经尝试了几种方法,但我无法find错误。

这是我的政策:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1468227127000", "Effect": "Allow", "Action": [ "ec2:DescribeInstances" ], "Resource": [ "*" ] }, { "Sid": "Stmt1468227157000", "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:ec2:region:user:instance/instance-ID" ] } ] 

}

正如我已阅读,我不能描述只有一个实例,在第一部分我描述了所有我的ec2实例,它的工作,但在第二部分,我允许用户启动和停止一个实例,但我无法启动它。

这个对我来说效果不错。 请注意,我添加了一些相当有用的(从我的angular度来看)行动,当然如果不需要,随时删除它们:

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": "arn:aws:ec2:us-east-1:361111111111:instance/i-0e411111111111111" } ] } 

这里361111111111就是你在账户设置中看到的账户ID, i-0e411111111111111就是实例ID,应该以i-开头,可以在实例的描述选项卡的最左边的一行find。

请注意,该地区没有可用区。

对于好奇的人:我试图限制ec2:Describe*行动到arn:aws:ec2:us-east-1:361111111111:instance/* ,但是这不起作用。 我删除了最右边的部分,直到它工作,而事实certificate, "*"只适用。

检查你的ARN。 它应该是这个页面显示的格式http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-ec2

当它说帐户是。 这是数字AWS账户到ID

试着Putnik的build议并不适合我,也没有这样的事情。

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*" ], "Resource": "*" ] } 

我无法启动也无法停止EC2实例,停止的实例会暂时过渡到挂起状态,然后再返回到停止状态,并显示无用的Client.InternalError消息。

但是,将PassRole添加到我的策略中工作。

https://aws.amazon.com/blogs/security/granting-permission-to-launch-ec2-instances-with-iam-roles-passrole-permission/

 { "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:Describe*" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": [ "arn:aws:ec2:us-east-1:361111111111:instance/i-0e411111111111111" ], "Effect": "Allow" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*" } ] }