
Quero bloquear todo o acesso de usuários a quase todas as regiões do AWS. Você não pode "desabilitar" uma região habilitada por padrão. Também estou ciente das permissões no nível da conta e que não podem ser restritas regionalmente.
Não quero adicionar uma política como esta a cada usuário/função/grupo
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": [
"eu-west-1",
"eu-west-2",
"eu-west-3"
]
}
}
}
]
}
Você não pode aninhar grupos. Portanto, não posso ter um grupo de nível superior. Coloquei todos os outros grupos que tenham essa política.
Você não pode adicionar funções a grupos. Então para o meuModelos SAMpara meus aplicativos sem servidor, preciso adicionar esta política a todos eles? Eles criam dinamicamente uma função e uma política exclusivas para cada aplicativo (e quero manter assim)
Existe alguma maneira de impor uma política para todos os usuários e funções de uma conta? Devo estar faltando alguma coisa porque isso parece uma tarefa árdua de administrar.
No Active Directory, poderíamos aplicar políticas facilmente no nível da UO/domínio/site/etc. Parece um recurso básico de uma plataforma de segurança e identidade
Existe uma maneira de aplicar esta política no nível da minha organização AWS?
Responder1
As políticas de controle de serviço fazem exatamente o que você pediu. Você pode bloquear regiões, mas cuidado: alguns serviços são globais e precisam estar na lista de permissões. Por exemplo, IAM, WAF, Route53, CloudFront, algumas partes do S3 precisam estar na lista de permissões para serem executadas fora das regiões permitidas.
OPágina de exemplo de política de controle de serviços da AWStem este como o primeiro exemplo, pois é o caso de uso mais comum para SCPs. Esta política nega regiões fora das duas listadas, é fácil mudar
{
"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"
]
}
}
}
]
}