我无法为特定用户创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
添加到我的策略中工作。
{ "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": "*" } ] }