ec2.requestSpotInstances必需的IAM权限?

我试图设置IAMangular色的权限,如果需要,将提交一个新的专题实例请求。 它将被一个Lambda函数使用。

该代码执行以下AWS API调用:

  • ec2.describeSpotInstanceRequests
  • ec2.requestSpotInstances
  • ec2.createTags

我为它创build了以下策略(尝试了很多其他选项之后):

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1437749945000", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RequestSpotInstances", "ec2:RunInstances", "ec2:CreateTags", "iam:List*" ], "Resource": [ "*" ] } ] 

}

如果我添加iam:*它的工作,但显然我不想这样做..

任何人都可以帮助我猜测它真的需要什么权限? 有人知道AWS API调用和所有必需的权限之间的映射吗?

ec2 API函数和权限通常是一一对应的。 所以你的政策中的大部分都是好的。

您需要添加iam:PassRole权限。 这是因为您的现场请求可能为您的新EC2实例提供IAMangular色来运行。

iam:PassRole权限是需要的,因为您的lambdaangular色可能会创build一个权限比本身更高的实例。 这可能会导致危险的安全情况。 所以这个额外的权限是必需的,通常它只能使用Resource属性来分配一个有限的angular色列表。