"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:TagResources"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:RequestTag/Protected": "true"
},
"ArnNotLike": {
"aws:Requester": "arn:aws:iam::*:role/aws-reserved/sso.amazonaws.com/*/AWSReservedSSO_AdministratorAccess_*"
}
}
}
Ребята, привет! Подскажите пожалуйста, пытаюсь сделать запрет на изменение тегов ресурсам всем, кроме роли SSO админа через SCP. Как я понимаю оба кондишена работают как &&, а allow policy в SCP не разрешены. Как быть?
Я категорически сонный, так что уточню вопрос). У тебя политика запрещает один конкретный тэг, если arn not like Логическое И здесь вроде как раз то что нужно, нет?
Да, запрещает один конкретный тег { "Condition": { "StringLike": { "ec2:ResourceTag/Protected": "true" } }, "Action": [ "ec2:Run*", "ec2:Terminate*", "ec2:Cancel*", "ec2:Create*", "ec2:Delete*", "ec2:Modify*", "ec2:Start*", "ec2:Stop*" ], "Resource": "arn:aws:ec2:*:*:subnet/*", "Effect": "Deny", "Sid": "DenyCreatingResourcesInServiceSubnets" }, Запрещает запускать виртуалки и создавать в сабнетах, которые с тегом Protected: true. Полиси выше пытаюсь сделать, чтобы тег нельзя было редактировать всем, кроме админов
Тогда непонятно в чем вопрос. Логическое И все еще подходит. Только вроде не aws:requester, а aws:principalarn
так это Deny кондишен же, я получается сделал полиси, которая не дает менять и в том числе админской роли ведь?
Ну ты пишешь arnNOTlike. Если арн НЕ соответствует админскому И в запросе есть указанный тэг - deny. Учти только что у тебя выше уровнем должна быть политика allow * (на всякий случай, что б не удалил все)))
SCP не поддерживают Allow
Поддерживают конечно. Они кондишны в них не поддерживают
оумай, спасибо! сейчас попробую
Учти что у тебя explicit deny выполнение в scp, то есть если у тебя есть только deny политика и больше ничего - залочишься. Должен быть глобальный allow (он там вообще в политике по умолчанию есть)
Ага, глобальный allow есть. { "Condition": { "StringLike": { "ec2:ResourceTag/Protected": "true" } }, "Action": [ "ec2:Run*", "ec2:Terminate*", "ec2:Cancel*", "ec2:Create*", "ec2:Delete*", "ec2:Modify*", "ec2:Start*", "ec2:Stop*" ], "Resource": "arn:aws:ec2:*:*:subnet/*", "Effect": "Deny", "Sid": "DenyCreatingResourcesInServiceSubnets" }, { "Effect": "Deny", "Action": [ "ec2:CreateTags", "ec2:DeleteTags" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Protected": "true" }, "ArnNotLike": { "aws:PrincipalARN": "arn:aws:iam::*:role/aws-reserved/sso.amazonaws.com/*/AWSReservedSSO_AdministratorAccess_*" } } } заменил на principalARN, но по каким то причинам она мне все равно редактировать теги не дает
Обсуждают сегодня