К сожалению, единственный чистый способ сделать это - создать несколько учетных записей AWS (предпочтительно под Organization ), а затем ограничить разные группы пользователей разными учетными записями.
Некоторые, но не все действия поддерживают разрешения на уровне ресурсов, поэтому вы можете написать политику, подобную следующей, которая ограничивает, какие экземпляры EC2 пользователь IAM может запускать / останавливать / перезагружать:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Environment": "Staging"
}
},
"Resource": [
"arn:aws:ec2:us-east-1:123456789012:instance/*"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
}
]
}
Кроме того, вы можете ограничить распространение пар ключей SSH или учетных данных Windows, чтобы только определенные пользователи могли физически получить доступ к данному экземпляру EC2.