Я создаю политики IAM для ограничения доступа к ресурсам EC2.
Я борюсь с CreateVolume Действие.
У меня есть следующая политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCreateTaggedVolumes",
"Effect": "Allow",
"Action": "ec2:CreateVolume",
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/Zone": "MyZone"
},
"ForAllValues:StringEquals": {
"aws:TagKeys": [
"Name",
"Zone"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"StringEquals": {
"ec2:CreateAction": "CreateVolume"
}
}
}
]
}
У меня также есть политики, которые позволяют пользователю создавать экземпляры EC2 только в подсети «MyZone» и прикреплять тома с тегом: Zone = MyZone к экземплярам с тегом: Zone = MyZone .
Проблема в том, что возможен эксплойт с использованием этого подхода:
Пользователь может создать том из любого снимка (например, созданного администратором) и затем присоединить его к своему собственному экземпляру EC2 . Но в идеале он должен иметь возможность создавать том только из снимка, помеченного определенным тегом.
А AWS предоставляет только том ресурс для CreateVolume Action. Поэтому я не могу изменить приведенную выше политику, чтобы разрешить создание тома только из моментального снимка с определенным тегом или с использованием любого другого связанного с моментальным снимком условия .
Есть ли обходной путь для этого?