Политика разрешает пользователю IAM "ec2: StartInstances" и "ec2: StopInstances" выглядеть так:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["cloudwatch:*","ec2:Describe*"],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": ["ec2:StartInstances","ec2:StopInstances"],
"Effect": "Allow",
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
}
]
}
Посмотрите, как cloudwatch и ec2: описывают действия в отдельном выражении, они использовали только для поддержки Resource из "*" . Вы можете видеть, что AWS делает то же самое, отделяя действия EC2 от описания и тегирования: https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/UserName": "${aws:username}"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": "*"
}
]
}