Wie erzwinge ich eine Richtlinie, um den Zugriff auf bestimmte Regionen zu blockieren, ohne alle meine Richtlinien zu aktualisieren?

Wie erzwinge ich eine Richtlinie, um den Zugriff auf bestimmte Regionen zu blockieren, ohne alle meine Richtlinien zu aktualisieren?

Ich möchte allen Benutzerzugriff auf fast alle AWS-Regionen blockieren. Sie können eine Region, die standardmäßig aktiviert ist, nicht „deaktivieren“. Außerdem sind mir Berechtigungen auf Kontoebene bekannt, die nicht regional eingeschränkt werden können.

Ich möchte nicht jedem Benutzer/jeder Rolle/Gruppe eine solche Richtlinie hinzufügen müssen

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3"
                    ]
                }
            }
        }
    ]
}

Sie können Gruppen nicht verschachteln. Ich kann also keine Gruppe auf oberster Ebene haben, in die ich alle anderen Gruppen mit dieser Richtlinie einfüge.

Sie können Gruppen keine Rollen hinzufügen. Also für meineSAM-VorlagenMuss ich diese Richtlinie für alle meine Serverless-Apps hinzufügen? Sie erstellen dynamisch eine eindeutige Rolle und Richtlinie für jede App (und das möchte ich auch so beibehalten).

Gibt es überhaupt eine Möglichkeit, eine Richtlinie für alle Benutzer und Rollen in einem Konto durchzusetzen? Ich muss etwas übersehen haben, denn das scheint eine ziemliche Plage zu sein.

In Active Directory können wir Richtlinien ganz einfach auf OU-/Domänen-/Site-/usw.-Ebene anwenden. Es fühlt sich wie eine grundlegende Funktion einer Sicherheits- und Identitätsplattform an.

Gibt es eine Möglichkeit, diese Richtlinie auf der Ebene meiner AWS-Organisation anzuwenden?

Antwort1

Service Control Policies tun genau das, was Sie verlangt haben. Sie können Regionen blockieren, aber beachten Sie, dass einige Dienste global sind und daher auf die Whitelist gesetzt werden müssen. Beispielsweise müssen IAM, WAF, Route53, CloudFront und einige Teile von S3 auf die Whitelist gesetzt werden, um außerhalb der zulässigen Regionen ausgeführt zu werden.

DerBeispielseite für AWS Service Control-Richtlinienhat dies als erstes Beispiel, da es der häufigste Anwendungsfall für SCPs ist. Diese Richtlinie verweigert Regionen außerhalb der beiden aufgeführten, sie lässt sich leicht ändern

{
    "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"
                    ]
                }
            }
        }
    ]
}

verwandte Informationen