Я предполагаю, что вы подключаетесь как этот пользователь в консоли (но это будет то же самое с CLI). Вот что я думаю происходит:
Чтобы перечислить все экземпляры, консоль, скорее всего, вызывает DescribeInstances API.Согласно списку action / resources / tags , которые можно использовать в политике IAM, этот API не поддерживает фильтр ресурсов в IAM.
Это означает, что у вашего пользователя нет прав доступа к списку.экземпляры и они не будут показаны в консоли.Вы можете проверить эту теорию, используя CLI, чтобы запросить детали определенного экземпляра id, если моя гипотеза верна, она будет авторизована.
Поскольку DescribeInstances не могут быть ограничены ресурсом или тегами,Я не думаю, что можно отфильтровать список экземпляров для пользователя.
Чтобы консоль работала, вам необходимо добавить следующий оператор в политику IAM
"Statement": [
{ your existing statement },
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
}
]
Пожалуйста, сообщите, если я был прав :-) Пример , который вы упомянули в своем вопросе, показывает, что именно: Resources = *
на DescribeInstances
и специфичный для ресурсов InstanceId для других операций.