Я пытаюсь предоставить пользователям IAM полный доступ по API / консоли к EC2 с тегом (ключ / значение) UserName / [их имя пользователя IAM].
Я попробовал приведенную ниже политику, которая работает для некоторых вещей, но не для других, и я не могу понять, почему она не работает для всех.
- пользователь МОЖЕТ запускать и останавливать экземпляр с тегом UserName, для которого установлено имя пользователя IAM (они не могут сделать это без приведенной ниже политики)
- пользователь НЕ МОЖЕТ изменить тип экземпляра на экземпляре с помощью своего тега UserName (который выглядит как ec2: * action)
- пользователь НЕ может изменить защиту от прерывания в экземпляре с помощью своего тега UserName
Моя политика IAM
в дополнение к этой политике эти пользователи также имеют полный доступ на чтение с предопределенной политикой AWS ReadOnlyAccess
.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/UserName": "${aws:username}"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
}
]
}
Я собрал кусочки из нескольких статей AWS для создания этой политики:
- https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-ec2-console.html