Существует два основных подхода к этому.
Ограничение разрешить
Для начала, у пользователей есть нет разрешений , чтобы делать что-либо,Затем вы предоставляете разрешения на то, что они могут делать.
Когда вы предоставляете им разрешение на RunInstances
, вы можете указать, что они не могут использовать AMI (через NotResource
):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Deny running an instance",
"Effect": "Allow",
"Action": [
"ec2:RunInstances"
],
"NotResource": [
"arn:aws:ec2:us-east-1::image/ami-abcd1234"
]
}
]
}
Добавить Запретить
В качестве альтернативы, вы можете предоставить им разрешения, как вы в настоящее время делаете , но затем Запретить им доступ к AMI.A Запретить всегда переопределяет Разрешить :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Deny running an instance",
"Effect": "Deny",
"Action": [
"ec2:RunInstances"
],
"Resource": [
"arn:aws:ec2:us-east-1::image/ami-abcd1234"
]
}
]
}