
Я хочу заблокировать доступ всех пользователей почти ко всем регионам aws. Вы не можете "отключить" регион, который включен по умолчанию. Также я знаю о разрешениях, которые находятся на уровне учетной записи и не могут быть ограничены на региональном уровне.
Я не хочу добавлять такую политику для каждого пользователя/роли/группы.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": [
"eu-west-1",
"eu-west-2",
"eu-west-3"
]
}
}
}
]
}
Группы не могут быть вложенными. Поэтому у меня не может быть группы верхнего уровня, в которую я помещаю все остальные группы, имеющие эту политику.
Вы не можете добавлять роли в группы. Так что для моегоШаблоны СЭМдля моих приложений serverless мне нужно добавить эту политику для всех? Они динамически создают уникальную роль и политику для каждого приложения (и я хочу сохранить это)
Есть ли вообще способ применить политику для всех пользователей и ролей в аккаунте? Я, должно быть, что-то упускаю, потому что это похоже на муку для управления.
В Active Directory мы могли бы просто легко применять политики на уровне OU/domain/site/etc. Это похоже на базовую функцию платформы безопасности и идентификации
Есть ли способ применить эту политику на уровне моей организации AWS?
решение1
Политики управления службами делают именно то, о чем вы просили. Вы можете блокировать регионы, но будьте осторожны, некоторые службы являются глобальными, поэтому должны быть в белом списке. Например, IAM, WAF, Route53, CloudFront, некоторые части S3 должны быть в белом списке для запуска за пределами разрешенных регионов.
TheПример страницы политики управления сервисами AWSимеет это как первый пример, так как это наиболее распространенный вариант использования SCP. Эта политика запрещает регионы за пределами двух перечисленных, это легко изменить
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAllOutsideEU",
"Effect": "Deny",
"NotAction": [
"a4b:*",
"acm:*",
"aws-marketplace-management:*",
"aws-marketplace:*",
"aws-portal:*",
"awsbillingconsole:*",
"budgets:*",
"ce:*",
"chime:*",
"cloudfront:*",
"config:*",
"cur:*",
"directconnect:*",
"ec2:DescribeRegions",
"ec2:DescribeTransitGateways",
"ec2:DescribeVpnGateways",
"fms:*",
"globalaccelerator:*",
"health:*",
"iam:*",
"importexport:*",
"kms:*",
"mobileanalytics:*",
"networkmanager:*",
"organizations:*",
"pricing:*",
"route53:*",
"route53domains:*",
"s3:GetAccountPublic*",
"s3:ListAllMyBuckets",
"s3:PutAccountPublic*",
"shield:*",
"sts:*",
"support:*",
"trustedadvisor:*",
"waf-regional:*",
"waf:*",
"wafv2:*",
"wellarchitected:*"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": [
"eu-central-1",
"eu-west-1"
]
},
"ArnNotLike": {
"aws:PrincipalARN": [
"arn:aws:iam::*:role/Role1AllowedToBypassThisSCP",
"arn:aws:iam::*:role/Role2AllowedToBypassThisSCP"
]
}
}
}
]
}