Можно ли обеспечить, чтобы все учетные записи в организации AWS могли создавать только зашифрованные тома EBS?
Я знаю, что вы можете добиться этого, используя Роли IAM, но я хочу знать, можно ли это сделать с помощью SCP.
Вот что я придумал, но это не работает. Я привязал это к учетной записи в своей организации, но я могу создавать как зашифрованные, так и незашифрованные тома.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "ec2:CreateVolume",
"Resource": "*",
"Condition": {
"Bool": {
"ec2:Encrypted": "false"
}
}
}
]
}
Оказывается, SCP работает так, как ожидалось, но есть загвоздка - по словам эта страница AWS «Все ключи условий, которые начинаются с« ec2 », не оцениваются при использовании учетных данных root».
Поскольку требование для шифрования тома находится в пределах ключа условия, оно не выполнялось, пока я вошел в систему как root. Когда я вошел в систему как пользователь IAM, SCP был применен, как и ожидалось.
Вот полный текст из документации AWS.
Документы AWS
В настоящее время при использовании учетных данных пользователя root для выполнения запросов Amazon EC2 элементы политики ресурсов и условий не работают должным образом следующими способами:
Resource ARNs – If you specify an AWS resource ARN in an SCP's resource element, it won't match the resource the root user performs
действие Amazon EC2 во время оценки политики. Это означает, что указанные ограничения для этого действия не применяются к пользователю root. Заявления Deny, в которых указаны все ресурсы («Resource»: «*») для действий Amazon EC2, правильно оцениваются для пользователей root.
Amazon EC2 condition keys – All condition keys that start with "ec2" aren't evaluated when using root credentials. Because policy
условия неправильно оцениваются для пользователей root, пользователи с учетными данными root могут иметь непреднамеренный доступ к действиям Amazon EC2.
Эта проблема не затрагивает пользователей и роли IAM или любой сервис AWS, кроме Amazon EC2. Этой проблеме подвержен только пользователь root. Если вы не хотите, чтобы ваш пользователь root имел доступ к действиям Amazon EC2, прикрепите SCP, например Пример ограничения доступа к Amazon EC2 для корневого пользователя в корень вашей организации.
Вот SCP, на который они ссылаются
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RestrictEC2ForRoot",
"Effect": "Deny",
"Action": [
"ec2:*"
],
"Resource": [
"*"
],
"Condition": {
"StringLike": {
"aws:PrincipalArn": [
"arn:aws:iam::*:root"
]
}
}
}
]
}