The policy above won't let you mount EBS volumes on instances, or use placement groups, or make spot bids. We seem to have figured out the full set of permissions needed for an IAM user running starcluster vanillaimprovements, including spot bidding and load balancer addnodes and removenodes:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExtraActionsNeededByStarCluster",
"Effect": "Allow",
"Action": [
"ec2:CreateKeyPair",
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:TerminateInstances",
"ec2:CreatePlacementGroup",
"ec2:DeletePlacementGroup",
"ec2:RequestSpotInstances",
"ec2:CancelSpotInstanceRequests"
],
"Resource": "*"
},
{
"Sid": "AllowDescribeForAllResources",
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Sid": "AllowInstancesToBeCreated",
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": "*"
},
{
"Sid": "AllowUserToStopStartDeleteInstances",
"Effect": "Allow",
"Action": [
"ec2:TerminateInstances",
"ec2:StopInstances",
"ec2:StartInstances"
],
"Resource": "arn:aws:ec2:*:account:instance/*"
}
]
}